Transaksi doomed
Anda ingin menyisipkan data dua pelanggan baru ke dalam tabel customer. Anda menyiapkan skrip yang memastikan bahwa jika terjadi kesalahan, transaksi di-rollback dan Anda mendapatkan pesan kesalahannya. Anda ingin mengendalikannya menggunakan XACT_ABORT dikombinasikan dengan XACT_STATE.
Latihan ini adalah bagian dari kursus
Transaksi dan Penanganan Kesalahan di SQL Server
Petunjuk latihan
- Gunakan pengaturan
XACT_ABORTyang tepat. - Periksa apakah ada transaksi yang terbuka.
- Lakukan rollback pada transaksi.
- Pilih pesan kesalahan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH