Використання контрольних точок
Вашій колезі Аниті потрібна допомога. Вона підготувала скрипт, що використовує контрольні точки (savepoints), але він не працює. Скрипт позначає першу контрольну точку savepoint1, після чого вставляє дані клієнта. Потім скрипт позначає ще одну контрольну точку savepoint2 і знову вставляє дані іншого клієнта. Після цього обидві контрольні точки відкочуються. Нарешті, скрипт позначає ще одну контрольну точку savepoint3 і вставляє дані ще одного клієнта.
Аніта каже, що її скрипт не працює через помилки, але вона не знає, як їх виправити. Чи можете ви їй допомогти?
Ця вправа є частиною курсу
Транзакції та обробка помилок у SQL Server
Інструкції до вправи
- Запустіть код, щоб перевірити, чи є помилки.
- Виправте кожну помилку.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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;