Bắt đầu ngayBắt đầu miễn phí

Giao dịch bị doomed

Bạn muốn chèn dữ liệu của hai khách hàng mới vào bảng customer. Bạn chuẩn bị một script để kiểm soát rằng nếu xảy ra lỗi, giao dịch sẽ ROLLBACK và bạn nhận được thông báo lỗi. Bạn muốn kiểm soát việc này bằng XACT_ABORT kết hợp với XACT_STATE.

Bài tập này là một phần của khóa học

Giao dịch và Xử lý lỗi trong SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Sử dụng thiết lập phù hợp cho XACT_ABORT.
  • Kiểm tra xem có giao dịch đang mở hay không.
  • ROLLBACK giao dịch.
  • SELECT thông báo lỗi.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- 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
Chỉnh sửa và Chạy Mã