開始使用免費開始

使用儲存點

你的同事 Anita 需要幫忙。她準備了一段使用儲存點的指令碼,但無法正常運作。這段指令碼先標記第一個儲存點 savepoint1,接著插入一位顧客的資料。然後它再標記另一個儲存點 savepoint2,並再次插入另一位顧客的資料。之後,它對兩個儲存點都進行回復。最後,指令碼再標記另一個儲存點 savepoint3,並插入另一位顧客的資料。

Anita 告訴你,她的指令碼因為有一些錯誤而無法執行,但她不知道怎麼修正。你能幫她嗎?

本練習屬於課程

SQL Server 的交易與錯誤處理

檢視課程

練習說明

  • 執行程式碼以確認確實有錯誤。
  • 修正每個錯誤。

動手互動練習

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

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