SqlServerCompact4.0 INSERTで複数レコードの挿入は可能か

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SqlServer2008以降かと思いますが、INSERT文にて複数のレコードを挿入できるようになりました。SqlServerCompact4.0でも同じような処理をしたいのですが、クエリ解析でエラーが発生してしまいます。

ソフトウェア開発日記さんでも紹介されていますが、SqlServer2008以降では

のようにVALUES以降をカンマで区切ることにより、複数のレコードを挿入することができました。

SqlServerCompact4.0はSqlServer2012の流れを汲んでいるので(もちろん、上記コードはSqlServer2012でも可能です)可能かと思っていたのですが、いざ実行してみるとVALUES後のカンマが不正トークンだと言われてしまいます。

まさかと思ってMSDNを検索してみると、SqlServer2012のINSERTは

12行目にある「VALUES ( { DEFAULT | NULL | expression } [ ,…n ] ) [ ,…n ] 」の表現から複数のレコードが挿入できることがわかります。

一方でSqlServerCompact4.0のINSERTは

以上のようになっており、複数レコードを指定できる書式になっていませんでした。

SqlServerCompact4.0で複数のレコードをINSERTする際には、レコード数と同じ回数のINSERTを発行する必要があるようです。

SNSでもご購読できます。

スポンサー リンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください