1行のINSERT文で複数のデータを挿入する方法

公開日: : 最終更新日:2016/07/18 SQL Server , , , ,

1行のInsertで複数件のデータ挿入

これまでは1行INSERT文では1行のデータしか挿入できませんでしたが、
SQLServer2008では1行のINSERT文で複数件を挿入できます。

複数行のInsert文で複数件のデータ挿入

通常はテーブルに複数件挿入する場合は以下の様にINSERT文を
複数件書いて実行します。

以下が挿入後の検索結果です。


1行のINSERT文で複数件データ挿入

SQLServer2008で実行できるようになった1行のINSERT文で複数件挿入する
SQLは「VALUES以降をカンマで区切って」渡せば挿入できます。

以下が挿入後の検索結果です。

挿入できるのは最大1000行までとHELPにありますので、
それ以上の場合はINSERT文を分けて実行する必要があります。

1行のINSERT文で複数件データ挿入時のエラー動作

はじめに複数行でINSERTする場合を検証します。
わざとエラーになうように、3行目でint型にVARCHAR型を
入れてあります。

実行結果は

になります。

テーブルをSELECTすると

となり、エラー発生後のデータはテーブルに挿入されていません。

次に1行のINSERT文で複数件挿入するSQLでエラーになる行を
含む行があった場合にどうなるかを検証します。
これも同じ様に、わざとエラーになうように、
3行目でint型にVARCHAR型を入れてあります。

実行結果は

エラー発生後にテーブルを検索してみても

行が1行も選択されないので、エラー行を含む場合は
1行のINSERTで複数件挿入する場合は
「全行のデータが挿入されない」
ようです。

1行なので当然かも知れませんが注意が必要です。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
  • 14 follow us in feedly

関連記事

a0001_013635

テーブルから列を削除する「ALTER TABLE テーブル名 DROP COLUMN 削除する列名」

既存のテーブルから指定した列を削除する 既存のテーブルで不要になった列を削除する方法です。

記事を読む

no-img

ISNULL()関数を使ってSQLでIF文を使わずに条件を分岐する

ISNULLをIF文の代わりに使ってみる SQLでIFを書けばWHERE句の内容を変えて検索できま

記事を読む

no-img

CREATE TABLE,ALTER TABLEでテーブルのプライマリーキー(PK)を作成する

SQL ServerでSQLを使用してプライマリーキー(PK)を作成します。 テーブル作成時(

記事を読む

SQLServer

SQLServerでストアドプロシージャ名を取得する

SQLServerでストアドプロシージャ名を取得する ストアドプロシージャ名を取得する エラ

記事を読む

keybord_black

春分の日と秋分の日をSQLで求める計算式

春分の日と秋分の日は毎年違う 春分の日と秋分の日は 祝日としての春分の日・秋分の日は、 前

記事を読む

no-img

再帰SQLで歯抜けの日付データを取得する

再帰SQLを使って歯抜けの日付データを取得 処理が自動実行(バッチ処理)で実行された日付を管理して

記事を読む

SQLServer

SQLServerで「WITH ROLLUP」を使って小計、総合計を出力する

「WITH ROLLUP」を使って小計、総合計を出力 SQLServerでは「WITH ROLLU

記事を読む

no-img

システム日付を取得する

様々な関数でコンピューターのシステム日付を取得する SQLServerのインスタンスを実行している

記事を読む

SQLServer

GROUP BYとHAVINGを使ってデータの重複を探しだすSQL

GROUP BYとHAVINGで重複を探す SQLでGROUP BYとHAVINGを使ってデー

記事を読む

no-img

SQL Server-登録されているストアドプロシジャーの一覧を取得する

データベースに登録されているストアドプロシジャーの 一覧を取得します。

記事を読む

Comment


  1. […] なりました。SqlServerCompact4.0でも同じような処理をしたいのですが、クエリ解析でエラーが発生してしまいます。 ソフトウェア開発日記さんでも紹介されていますが、SqlServer2008以降では […]

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

no-img
SQLServerのエラーコードを取得するSQL

SQLServerで発生するエラーコードをSQLで取得する SQLS

no-img
データベースに登録されている内容を固定長のファイルに出力する(1)

登録されている内容を固定長で出力 データベースに登録されている内容を

no-img
SQLを使っていろいろなやり方で年月を抜き出す

いろいろなやり方で年月を抜き出す 数値で年月を管理しているテーブルに

no-img
ORDER BYでNULLのカラムを最後に表示

ORDER BYでNULLのカラムを最後に持ってくる SQLで何も考

no-img
CASE WHEN を使って条件ごとの件数を取得する

CASE WHEN を使って条件ごとの件数を取得する あるテーブルに

→もっと見る



PAGE TOP ↑