techbank.jp コミュニティ

     あれ?どうやるんだっけ?を解決する

坊やがゆくtech

クエリ・エディタでもトランザクションを使おう

SQL Server Management Studioのクエリ・エディタはちょっとしたSQLを試すのに便利ですね。
でも更新系のSQLをいきなり叩いて後悔したことありませんか?
クエリ・エディタではTransact-SQLコマンドを記述できるのでトランザクションを使わない手はありません♪


トランザクション開始(TRANでも可)

BEGIN TRANSACTION

ロールバック/コミット

ROLLBACK TRANSACTION
COMMIT TRANSACTION

現在の接続でアクティブなトランザクション数を返します

SELECT @@TRANCOUNT

クエリ・エディタは文字を選択すれば選択した範囲のみ実行するので予めコメントとして用意しておき必要に応じて選択して実行すると便利。

--トランザクション開始
--BEGIN TRANSACTION

--ロールバック/コミット
--ROLLBACK TRANSACTION
--COMMIT TRANSACTION

--現在の接続でアクティブなトランザクション数を返します
--SELECT @@TRANCOUNT

もしくは、こうしておけばうっかり全て実行してしまっても安心♪
(更新系の処理のためにタイムスタンプを変数に格納するコードも置いておきました)

--トランザクション開始
BEGIN TRANSACTION

--現在の接続でアクティブなトランザクション数を返します
--SELECT @@TRANCOUNT

--▼ここにSQLを書く
--DECLARE @dt DATETIME
--SELECT @dt = GETDATE() -- SET @dt = GETDATE() でも可
--▲

--ロールバック/コミット
ROLLBACK TRANSACTION
--COMMIT TRANSACTION

参考:
ちょー基本で簡単に、SQLServerでトランザクションの効果を確認する

コメント

 

けろ-みお 発言:

SELECT @@TRANCOUNT ですか。

これって、ネストさせたトランザクションの場合、 @@TRANCOUNT は、どのように認識されるかBlogネタで公開して頂くことできますか?

宜しくお願いします。

11月 18, 2009 8:54 午後
 

PoohKid 発言:

大変お待たせしました(^^;;;

ネストについてまとめてみました。

(ほとんど引用ですが><)

12月 9, 2009 2:00 午前

コメントを残す

(必須)  
(オプション)
(必須)  
techbank.jp