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.

The answer to the exercise will be included and explained if you attend the course listed below!

Category ==> SQL  (192 exercises)
Topic ==> Parameters and return values  (11 exercises)
Level ==> Harder than average
Course ==> Advanced SQL
Before you can do this exercise, you'll need to download and unzip this file (if you have any problems doing this, click here for help). Once you've done this:
  1. Go into SQL Server Management Studio;
  2. Open the SQL file you've just unzipped (you can press CTRL + O to do this); then
  3. 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:

Output parameters Countries 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

,@EventCount= COUNT(E.CountryID)

FROM ...

Open a new window to execute the procedure. Create two variables to store the values held in the output parameters.

Using output parameters will give you headaches.

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.

This page has 0 threads Add post