I know how to write a stored procedure with output parameters. But I don't know the reason why I would use it over just using a simple SELECT
statement. A normal stored procedure can still return an output in a grid (see below examples).
Can anyone give a real life example where I can use an SP with output parameter over with SP without output parameter?
Examples
-- Using output parameter
SELECT @var = COUNT(*) FROM table1 WHERE gender = @gender...
-- Without output parameter
SELECT COUNT(*) FROM table WHERE gender = @gender...
Best Answer
Output parameters in stored procedures are useful for passing a value back to the calling T-SQL, which can then use that value for other things.
Let's say you have a stored procedure that returns a state given the input of a city, with state as the output parameter:
You can now use this output parameter to pass in a value elsewhere.
For example:
To summarise, if you just want to return a value for a client application, you probably don't need an output parameter.
However, if you want to pass values around in T-SQL between stored procedures, they can be very useful.
For what it's worth, I hardly use output parameters.