Menggunakan savepoint
Rekan Anda, Anita, membutuhkan bantuan. Ia menyiapkan skrip yang menggunakan savepoint, tetapi tidak berjalan. Skrip menandai savepoint pertama, savepoint1, lalu menyisipkan data seorang pelanggan. Kemudian, skrip menandai savepoint lain, savepoint2, dan kembali menyisipkan data pelanggan lain. Setelah itu, kedua savepoint tersebut di-rollback. Terakhir, skrip menandai savepoint lain, savepoint3, dan menyisipkan data pelanggan lainnya.
Anita mengatakan bahwa skripnya tidak berfungsi karena ada beberapa kesalahan, tetapi ia tidak tahu cara memperbaikinya. Dapatkah Anda membantunya?
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Petunjuk latihan
- Jalankan kodenya untuk memverifikasi bahwa ada kesalahan.
- Perbaiki setiap kesalahan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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;