始める無料で始める

トランザクションの修正

今日は、正しくないスクリプトが渡されました。作成者はあなたの同僚ですが、最後まで書き切る方法がわからなかったようです。同僚は口座1から口座5へ$100を振り替え、その取引を transactions テーブルに登録しようとしました。

しかし、すぐにいくつかの誤りに気づきます。SQL Server が使用されているトランザクションのステートメントを認識していません。

このスクリプトを修正できますか?

この演習はコースの一部です

SQL Server におけるトランザクションとエラー処理

コースを見る

演習の手順

  • コードを実行して、エラーがあることを確認します。
  • すべての誤りを修正します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

BEGIN TRY  
	START TRAN;
		UPDATE accounts SET current_balance = current_balance - 100 WHERE account_id = 1;
		INSERT INTO transactions VALUES (1, -100, GETDATE());
        
		UPDATE accounts SET current_balance = current_balance + 100 WHERE account_id = 5;
		INSERT INTO transactions VALUES (5, 100, GETDATE());
	FINISH TRAN;
END TRY
BEGIN CATCH  
	UNDO TRAN;
END CATCH
コードを編集して実行