Както входните, така и изходните параметри могат да бъдат зададени по подразбиране. В този пример:
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
първият параметър е задължителен, а вторият и третият са незадължителни - ако не са зададени от извикващата рутина, ще им бъдат присвоени стойностите по подразбиране. Опитайте да се забърквате с него и следната процедура за тестово повикване в SSMS, като използвате различни стойности и настройки, за да видите как всичко работи заедно.
DECLARE @Output int
SET @Output = 3
EXECUTE MyTest
@Data1 = 1
,@Data2 = 2
,@Data3 = @Output output
PRINT '---------'
PRINT @Output