Die Verwirrung ist bis zu einem gewissen Grad gerechtfertigt - und andere RDBMS wie Oracle haben Parameter für gespeicherte Prozeduren, die vom Typ IN
sein können (nur Eingabe), OUT
(nur Ausgabe) oder INOUT
(beide Wege - "Pass by Reference"-Parametertyp).
SQL Server ist hier etwas schlampig, da er den Parameter als OUTPUT
kennzeichnet , aber eigentlich bedeutet das INPUT
/OUTPUT
- Es bedeutet im Grunde nur, dass die gespeicherte Prozedur die Möglichkeit hat, einen Wert von ihrem Aufruf in diesem Parameter zurückzugeben.
Also ja - obwohl es OUTPUT
heißt Parameter, es ist eher ein INPUT
/OUTPUT
Parameter und diese IN
, INOUT
, OUT
wie in Oracle existieren nicht in SQL Server (in T-SQL).