開始使用免費開始

遭判定無法提交的交易(Doomed transactions)

你想要將兩位新客戶的資料插入 customer 資料表。你準備了一段指令碼,確保一旦發生錯誤,交易會回復(rollback),而且你能取得錯誤訊息。你打算結合使用 XACT_ABORTXACT_STATE 來控管這件事。

本練習屬於課程

SQL Server 的交易與錯誤處理

檢視課程

練習說明

  • 使用正確的 XACT_ABORT 設定。
  • 檢查是否有開啟中的交易。
  • 回復(ROLLBACK)該交易。
  • 擷取(SELECT)錯誤訊息。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

-- 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
編輯並執行程式碼