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 merupakan bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Instruksi latihan
- Jalankan kodenya untuk memverifikasi bahwa ada kesalahan.
- Perbaiki setiap kesalahan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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;