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行なので当然かも知れませんが注意が必要です。

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

関連記事

「INNER JOIN」「LEFT OUTER JOIN」「RIGHT OUTER JOIN」「FULL OUTER JOIN」についてまとめ

SQLで良く使うJOINについて SQLでよく使う「INNER JOIN」「LEFT OUTE

記事を読む

SQLServer

bcpコマンドを使ってBULK INSERT用のフォーマットファイルを出力する

bcpコマンドを使ってBULK INSERT用のフォーマットファイルを出力する bcpコマンドを使

記事を読む

sp_pkeys – SQL Serverでテーブルのプライマリキーを取得する

sp_pkeysを使ってSQL Serverでテーブルのプライマリキーを取得します。

記事を読む

sp_columns – SQL Serverでカラムの型を取得する

SQL Serverで定義されているテーブルのカラムの型を取得する SQL Serverで定義され

記事を読む

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

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

記事を読む

SQL Server-テーブルのプライマリーキー(PK)を取得する

SQL ServerでSQLを使用してプライマリーキー(PK)を取得する必要があったので ちょっと

記事を読む

SELECTでUNIONは複数個使える

SELECTでの複数のUNIONの使い方 SELECTでUNIONは複数個、連続して使えるようです

記事を読む

指定された月の日数をSQLで求める

指定された月の日数をSQLで求める SQLServerには該当月の日数を求める関数がないので

記事を読む

SQLServerでSQLを使ってテーブルのカラム名(項目名)を取得する

SQLでテーブルのカラム名(項目名)を取得 Oracleでは とわりと簡単に取得できるの

記事を読む

SQLServerで省略可能な引数を持ったストアドプロシージャを作る

SQLServerで省略可能な引数を持ったストアドプロシージャーを作ります。 省略可能にするに

記事を読む

Comment


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

Message

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

*

SQLで改行コードを含む項目を取得する

SQLで改行コードを含む項目を検索する Microsoft SQL

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

ISNULLをIF文の代わりに使ってみる SQLでIFを書けばWHE

SQLで棒グラフの簡易版を出力する

SQLで棒グラフの簡易版出力 SQLで棒グラフの簡易版を出力してみま

SQLでCASE~WHENを使ってみる

SQLでCASE~WHENを使う SQLでCASE~WHENを使うと

SQLServer上にあるテーブルの更新日時を取得する。

テーブルの更新日時を取得 SQLServer上にあるストアドプロシー

→もっと見る



PAGE TOP ↑