Aan zowel invoer- als uitvoerparameters kunnen standaardwaarden worden toegewezen. In dit voorbeeld:
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
de eerste parameter is vereist, en de tweede en derde zijn optioneel - indien niet ingesteld door de aanroepende routine, zullen ze de standaardwaarden toegewezen krijgen. Probeer ermee te rommelen en de volgende testoproeproutine in SSMS met verschillende waarden en instellingen om te zien hoe het allemaal samenwerkt.
DECLARE @Output int
SET @Output = 3
EXECUTE MyTest
@Data1 = 1
,@Data2 = 2
,@Data3 = @Output output
PRINT '---------'
PRINT @Output