- 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 | Archived exercise | Delete adult and betting sites, then roll back
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 can learn how to do this exercise on the relevant Wise Owl classroom training course (sadly for the moment only in the UK).
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 the world's leading websites.
This database contains a table called Data_at_14_Jan_2010, which contains the source data for the other tables:
We're going to remove all BETTING and ADULT sites, such as the one shown selected
Write a query which:
- Begins a transaction
- Within this transaction, deletes all rows from the above table where the Category column is Betting or Adult
- Stores how many rows are left in the table in an integer variable
- Rolls back the transaction
- Stores how many rows are in the table after this roll back (in a second integer variable)
- Displays the final figures
Your query should display output similar to this, when run:
The transaction (if not rolled back) would have deleted 9 sites
Optionally, save this code as Delete sites then roll back.sql, then close it down.