La confusion est justifiée dans une certaine mesure - et d'autres RDBMS comme Oracle ont des paramètres de procédure stockée qui peuvent être de type IN
(entrée uniquement), OUT
(sortie uniquement), ou INOUT
(dans les deux sens - type de paramètre "passer par référence").
SQL Server est un peu bâclé ici car il étiquette le paramètre comme OUTPUT
, mais en réalité, cela signifie INPUT
/OUTPUT
- cela signifie simplement que le proc stocké a une chance de renvoyer une valeur à partir de son appel dans ce paramètre.
Alors oui - même s'il s'appelle OUTPUT
paramètre, c'est vraiment plus un INPUT
/OUTPUT
paramètre, et ceux IN
, INOUT
, OUT
comme dans Oracle n'existent pas dans SQL Server (dans T-SQL).