- Simple Queries (4)
- Setting criteria using WHERE (5)
- Calculations (7)
- Calculations using dates (4)
- Basic joins (8)
- More exotic joins (2)
- Aggregation and grouping (8)
- Views (5)
- Subqueries (5)
- Stored procedures (5)
- Variables (8)
- Parameters and return values (11)
- Testing conditions (1)
- Looping (3)
- Scalar functions (6)
- Transactions (5)
- Creating tables (5)
- Temporary tables and table variables (9)
- Table-valued functions (6)
- Derived tables and CTEs (13)
- Dynamic SQL (4)
- Pivots (2)
- Triggers (2)
- Archived (70)
SQL | Parameters and return values exercise | Using Output parameters
This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.
- Go into SQL Server Management Studio;
- Open the SQL file you've just unzipped (you can press CTRL + O to do this); then
- Execute this script.
This will generate the database that you'll need to use in order to do this exercise (note that the database and script are only to be used for exercises published on this website, and may not be reused or distributed in any form without the prior written permission of Wise Owl).
You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.
First write a stored procedure to show which country has the most events:
Your query should show these results - we now want to capture these two bits of information, and return them to the calling query.
Add two output parameters to your procedure:
|Parameter||What it should take|
|@TopCountry||The country name|
|@EventCount||The number of events for it|
The parameters must have a default value, and must include the word OUTPUT.
Amend your procedure to capture the country name and number of events in these variables, within your SELECT clause:
SELECT TOP 1
--Values go into parameters just like variables
@TopCountry = CountryName
Open a new window to execute the procedure. Create two variables to store the values held in the output parameters.
The tricky part is setting the parameters equal to the variables: remember to specify OUTPUT!
Select the two variables to check the information has been successfully output.
Optionally save this as Most Eventful Country.sql, then close it down.