La confusione è giustificata in una certa misura - e altri RDBMS come Oracle hanno parametri di stored procedure che possono essere di tipo IN
(solo input), OUT
(solo output) o INOUT
(in entrambi i modi - tipo di parametro "passa per riferimento").
SQL Server è un po' sciatto qui poiché etichetta il parametro come OUTPUT
, ma in realtà questo significa INPUT
/OUTPUT
- in pratica significa solo che il processo memorizzato ha la possibilità di restituire un valore dalla sua chiamata in quel parametro.
Quindi sì, anche se si chiama OUTPUT
parametro, è davvero più di un INPUT
/OUTPUT
parametro e quelli IN
, INOUT
, OUTPUT
come in Oracle non esistono in SQL Server (in T-SQL).