- 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 | Dynamic SQL exercise | Dynamic SQL
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.
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.
If you haven't already done so, run the stored procedure in the above folder to generate a database of training courses and attendees.
Create a stored procedure to take in various different parameters about a query:
Your procedure should allow you to vary the columns, table, number of rows selected and sort order
Your stored procedure should build up a string of text containing a SQL command, then execute it:
The command to execute an SQL command contained in a string variable
You should then be able to run your stored procedure (when you've finished it!) to show data from different tables in different ways. For example:
Two completely different SELECT statements, using the same stored procedure
If it helps, here's the sort of string of text you should be aim to be building up: SELECT TOP 5 FirstName,LastName FROM tblPerson ORDER BY LastName.
Optionally, save the code to generate your stored procedure as Variable inputs.sql, then close it down.