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

関連記事

SQLでビット演算を行う

SQLServerでのビット演算 SQLServerのT-SQLでビット演算を使って、該当のデータ

記事を読む

SELECT INTOで既存テーブルのデータを新規テーブルにコピーする

既存テーブルのデータを新規テーブルにコピーします。 簡単だが結構忘れるのでメモします。

記事を読む

DATENAME関数を使って日付を取得する。

DATENAME関数を使って日付取得 SQLServerでDATENAME関数を使って日付を取得し

記事を読む

SQLでランダムにユニーク(一意)な値(ID)を取得する

ランダムにユニーク(一意)な値(ID)を取得する SQLServerでテーブル内でユニークキーをラ

記事を読む

0で埋めで固定長のデータにする

0で埋めで固定長のデータにする データべース内のデータを0埋めして取得します。 RIGHT(

記事を読む

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

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

記事を読む

SQLServerのSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得する

このページはSQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得すると重複して

記事を読む

SQLServer

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です

SQLServerで取得した値を3ケタずつのカンマ区切りの表示に変更する方法です。 3ケタずつ

記事を読む

SQLで文字列を3分割する

SQLで文字列を3分割する どうしてもSQLServerで特定の文字で文字列を3分割する必要が

記事を読む

SQLで指定月のカレンダー作成

ストアドプロシージャでカレンダーを作成する SQLServerでストアドプロシージャ (store

記事を読む

Comment


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

Message

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


*

SQLServerでカンマ区切り (CSV) で文字列取得

SQLの取得結果をカンマ区切りで取得 Where句のINにSQL

SQLで文字列を反転させる

SQLで文字列を反転させる SQLで文字列を"012345"を後ろか

SQL_VARIANT_PROPERTYを使ってカラムの基本データ型を取得する

カラムの基本データ型取得 SQLサーバーで定義されているテーブルのカ

SQLServer上にあるストアドプロシージャーの更新日時を取得する。

ストアドプロシージャーの更新日時を取得する ここ数日間で変更されたS

SQLServer
SQLServerで累積値(累積比)を求める

SQLServerで累積値(累積比)を求める SQLServer

→もっと見る



PAGE TOP ↑