そのうち追記したりするかも
トランザクション
解説はいらないかな?
通常は例外発生時など異常時にロールバックするのが主な用途だが、ManagementStudio上ならデータの中身を変えずに挿入・更新されたデータを確認するといったことが可能
1 2 3 4 5 6 7 8 9 10 11 12 13 | Begin Try Begin Transaction -- 何か処理 --- ---- -- ここでselectするとManagementStudioでデータを変更せずに確認が可能 Rollback Transaction -- Commit Transaction End Try Begin Catch -- 例外 Rollback Transaction End Catch |
一時テーブルの作成
テーブル名の先頭に#もしくは##をつけると一時テーブルとなる
tempdbに格納され寿命を過ぎると自動で削除される
複雑なJoinよりも複数回に分けて一時テーブルを操作したほうがパフォーマンスが良くなったりするらしい
1 2 3 4 5 | Create Table # Work ( id int , name char (10) ); |
Select結果をInsert
別のテーブルからSelectした値をそのままInsert可能
自由に列を挿入できて定数値や関数なども使える
1 2 3 4 | Insert Into # Work Select 1 AS id, 'name' AS name |
その他
sp_columns - 列の型を取得できる。確認するのが面倒なときに
1 | Exec sp_columns [TableName] |
あんまり見ない書き方なのは仕様です