ひやりはっとIT備忘録    

« Movable Type 4 のオープンソース化 | メイン | Web表計算を公開しない場合 »

« ACCESS と SQL Server の datetime の違い | データベース | SQL Server のロックエスカレーション機能 »

2007年7月28日

●SQL Server 2008 の新機能

insert 新機能

 「PassJ」から定期ニュース(PassJ News:Vol.335)が届きました。
 その中に「SQL Server 2008 の新機能」が一つ紹介されていました。
【insert 新機能の利用例】
  insert into tableX (c1, c2)
  values
    ('a', 10),
    ('b', 20),
    ('c', 30);
 そう、複数行の insert が、ひとつのステートメントで実行できるようになります。 これまで、次のように書いていましたね。

 【従来の書き方】
  begin tran
    insert into tableX (c1, c2) values ('a', 10);
    insert into tableX (c1, c2) values ('b', 20);
    insert into tableX (c1, c2) values ('c', 30);
  commit;


つづく


トランザクションの個数

 「従来の書き方」に違和感を感じましたが、次の説明で納得しました。
なお、ひとつのステートメントになりますので、トランザクションは 1 個となっています。逆に、ひとつの列でも挿入が失敗すると、すべてロールバックされます。
おわり

トラックバックURL

このエントリーのトラックバックURL:
http://www.uncle-joe.net/mtengine/mt-tb.cgi/36

コメントする

(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)