首頁 >資料庫 >mysql教程 >如何從非標量子查詢將多行插入 SQL Server 表?

如何從非標量子查詢將多行插入 SQL Server 表?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-05 14:11:40713瀏覽

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

從非標量子查詢將值插入表中

在SQL Server 中,根據傳回的子查詢將值插入表中多個結果可能具有挑戰性。考慮以下場景:

您有兩個表:

  • 文章
  • 價格

您想要將行插入prices表,其中包含groupidprice 列的特定值,其中id 值為派生articleid

值為派生

articleid 值為派生

article

中選擇匹配ID的子查詢

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

不正確的方法:

嘗試使用具有多個結果的子查詢作為INSERT 語句中某一列的值可能會導致錯誤,如下所示透過以下錯誤的SQL語句證明:

正確解:要解決此問題,請使用SELECT 語句擷取所需的值並將其插入目標表中。直接在

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

groupprice 欄位指派常數值:

查詢在此語句中,子子傳回與指定名稱條件符合的文章ID,且常數值7 和1.50明確分配給分別是組和價格列。

以上是如何從非標量子查詢將多行插入 SQL Server 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn