言葉にできるは武器なるらしい

言葉に文字に残していきます何事も。いつかきっと誰かの役に立つはずだから。

SQLのちょっとした小技

SQLで更新や削除を行うとき、私の場合いつもBefore-Afterが
ちゃんと分かるようにしたいので
下記のようにSelect文-Update文-Select文、ほんで最後に
rollbackとコメントアウトしたcommitを入れるのですが、ちなみに使っているのはSQLSEVERです

 例)

begin tran

select columnA,* from table

update table set columnA = 'abcd'
where columnB = 'ccc'

select columnA,* from table

--rollback
--commit


これで一旦実行し、before-afterの結果を確認した上で
問題なければ、最後コミットだけ実行します。

このやり方で何も問題ないと思いますが!

エビデンススクリーンショットでとっておきたい時って
結果表示されたらスクショ!コミットちゃんとしたメッセージでスクショ!
というように2回スクショが必要になると思います。

ここで小技!!ババン!

文末を下記のように変えます。

rollback; select 'rollback'
--commit; select 'commit'


これに書き換えた状態で先程同様に1発目のクエリを流すと
before-afterが確認できるうえ、最後にrollbackと表示されます。

問題なければコメントアウトを入れ替えてから実行
--rollback; select 'rollback'
commit; select 'commit'

そうするとどうでしょう。こんな感じで

f:id:rodeeeen:20170714204909p:plain


スクショ一発でbefore-afterが見れて、コミットした事も分かります。

エビデンスを毎回とる人には超便利だとおもってます!