Cả hai tham số đầu vào và đầu ra đều có thể được gán giá trị mặc định. Trong ví dụ này:
CREATE PROCEDURE MyTest
@Data1 int
,@Data2 int = 0
,@Data3 int = null output
AS
PRINT @Data1
PRINT @Data2
PRINT isnull(@Data3, -1)
SET @Data3 = @Data3 + 1
RETURN 0
tham số đầu tiên là bắt buộc, còn tham số thứ hai và thứ ba là tùy chọn - nếu không được thiết lập bởi quy trình gọi, chúng sẽ được gán các giá trị mặc định. Hãy thử làm rối với nó và quy trình cuộc gọi kiểm tra sau đây trong SSMS bằng cách sử dụng các giá trị và cài đặt khác nhau để xem cách tất cả hoạt động cùng nhau.
DECLARE @Output int
SET @Output = 3
EXECUTE MyTest
@Data1 = 1
,@Data2 = 2
,@Data3 = @Output output
PRINT '---------'
PRINT @Output