從非標量子查詢將值插入表中
在SQL Server 中,根據傳回的子查詢將值插入表中多個結果可能具有挑戰性。考慮以下場景:
您有兩個表:
您想要將行插入prices表,其中包含group、id 和price 列的特定值,其中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 語句擷取所需的值並將其插入目標表中。直接在
SELECTinsert into prices (group, id, price) select 7, articleId, 1.50 from article where name like 'ABC%';語句中為
group 和price 欄位指派常數值:
查詢在此語句中,子子傳回與指定名稱條件符合的文章ID,且常數值7 和1.50明確分配給分別是組和價格列。以上是如何從非標量子查詢將多行插入 SQL Server 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!