Sowohl Eingangs- als auch Ausgangsparametern können Voreinstellungen zugewiesen werden. In diesem Beispiel:
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
der erste Parameter ist erforderlich, und der zweite und der dritte sind optional – wenn sie nicht von der aufrufenden Routine gesetzt werden, werden ihnen die Standardwerte zugewiesen. Versuchen Sie, damit und mit der folgenden Testaufrufroutine in SSMS herumzuspielen, indem Sie verschiedene Werte und Einstellungen verwenden, um zu sehen, wie alles zusammenarbeitet.
DECLARE @Output int
SET @Output = 3
EXECUTE MyTest
@Data1 = 1
,@Data2 = 2
,@Data3 = @Output output
PRINT '---------'
PRINT @Output