ホームページ >データベース >mysql チュートリアル >非スカラー サブクエリから SQL Server テーブルに複数の行を挿入するにはどうすればよいですか?

非スカラー サブクエリから SQL Server テーブルに複数の行を挿入するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-05 14:11:40721ブラウズ

How to Insert Multiple Rows into a SQL Server Table from a Non-Scalar Subquery?

非スカラー サブクエリからテーブルへの値の挿入

SQL Server で、返されるサブクエリに基づいてテーブルに値を挿入する複数の結果が得られるのは難しい場合があります。次のシナリオを考えてみましょう:

2 つのテーブルがあります:

  • article
  • prices

に行を挿入したいとします。 groupid、および price 列の特定の値を含む prices テーブル。id の値は次のとおりです。 記事から一致する ID を選択するサブクエリから派生table.

間違ったアプローチ:

INSERT ステートメントの列の値として複数の結果を持つサブクエリを使用しようとすると、エラーが発生する可能性があります。次の誤った SQL ステートメントで示されています:

INSERT INTO prices (group, id, price) 
VALUES (7, (select articleId from article WHERE name LIKE 'ABC%'), 1.50);

正しい解決策:

この問題を解決するには、SELECT ステートメントを使用して必要な値を取得し、ターゲット テーブルに挿入します。 SELECT ステートメント内で、group 列と price 列の定数値を直接割り当てます。

insert into prices (group, id, price)
select 
    7, articleId, 1.50
from article where name like 'ABC%';

このステートメントでは、サブクエリは次の値を返します。指定された名前基準に一致する記事 ID と、定数値 7 および 1.50 が明示的に割り当てられます。 グループ 列と 価格 列。

以上が非スカラー サブクエリから SQL Server テーブルに複数の行を挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。