SQL Serverのトランザクション文の構文

Database データベース

SQL Server Management StudioなどでSQL文を単発で実行すると、そのままコミットされる。

そうではなく、「トランザクション文」としたい場合の構文のメモ。

なお、今回のバージョンは以下です。

  • SQL Server Standard 2008 R2
スポンサーリンク

トランザクションの開始は、「BEGIN TRANSACTION」。

コミットは、「COMMIT TRANSACTION」。

ロールバックは、「ROLLBACK TRANSACTION」。

こんな感じで使う。

BEGIN TRANSACTION
    UPDATE TEST SET ID = '0001' WHERE ID = '0002';
COMMIT TRANSACTION

排他制御のテストなどをしようと思ったら、以下のように「UPDLOCK」でトランザクションをコミットせずにしておけば、ロックし続ける。

BEGIN TRANSACTION
    SELECT ID FROM TEST WITH (UPDLOCK) WHERE ID = '0001';

参考サイト

BEGIN TRANSACTION (Transact-SQL)

コメント

タイトルとURLをコピーしました