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