始める無料で始める

セーブポイントの使用

同僚の 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;
コードを編集して実行