- 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 | Transactions exercise | Update table, then undo changes with a transaction
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.
Use an UPDATE statement on the tblCountry table to set the CountryName column to include the words (My Country) next to the country you call home:
Now change the code to add (Holiday destination) to the other countries within a transaction. After running the update statement:
- roll back the transaction if 1 + 1 = 2 (it does); or
- commit it otherwise.
When you run this query, nothing should change:
When excluding your country remember to use wild cards to account for the changed name!
Change the condition to test whether 1 + 1 = 3 (it doesn't), and rerun it. Check that the extra text has been added:
If you have nothing better to do, change Holiday to Visited for countries you've been to.
Finally, as a bit of housekeeping please reset the country names by running this query:
-- reset country names
SET CountryName = REPLACE(CountryName,
' (Holiday Destination)','')
-- check this worked
SELECT * FROM tblCountry
If you could also manually reset the name of your home country back to its former glory, that would be good! Thanking you ...
Optionally save this as Stake your claims.sql, and then close it down.