Använda savepoints
Din kollega Anita behöver hjälp. Hon har skrivit ett skript som använder savepoints, men det fungerar inte. Skriptet markerar den första savepoint:en, savepoint1, och infogar sedan data för en kund. Därefter markerar skriptet ytterligare en savepoint, savepoint2, och infogar data för en annan kund. Efter det återställs båda savepoints. Slutligen markerar skriptet en tredje savepoint, savepoint3, och infogar data för ytterligare en kund.
Anita berättar att skriptet inte fungerar på grund av några fel, men hon vet inte hur hon ska rätta dem. Kan du hjälpa henne?
Den här övningen är en del av kursen
Transaktioner och felhantering i SQL Server
Övningsinstruktioner
- Kör koden för att se vilka fel som finns.
- Rätta alla fel.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
BEGIN TRAN;
-- Mark savepoint1
savepoint1 SAVE TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
-- Mark savepoint2
savepoint2 SAVE TRAN;
INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');
-- Rollback savepoint2
savepoint2 ROLLBACK TRAN;
-- Rollback savepoint1
savepoint1 ROLLBACK TRAN;
-- Mark savepoint3
savepoint3 SAVE TRAN;
INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;