[英]SQL Server INSERT-OUTPUT including column from other table
我需要將數據插入表中,並且需要輸出目標表中新插入的 id 與源表中的 Id 映射在一起。 我有以下查詢:
DECLARE @mapping TABLE(
DestId int,
SourceId int);
INSERT INTO dest_table (column1, column2)
OUTPUT INSERTED.Id as DestId, src_table.Id as SourceId INTO @mapping
SELECT
src_table.column1,
src_table.column2
FROM src_table
這給出了以下錯誤:
The multi-part identifier "src_table.Id" could not be bound.
通常,我會使用MERGE
語句。 但是在這種情況下它必須在 SQL Server 2005 上運行!!!
有沒有辦法在不解析游標並一個一個插入值的情況下實現這一目標?
它看起來像一個錯字。 該表是src_table1
(末尾是1
),而別名使用的是src_table
(末尾沒有1
)。 您可以將別名添加到表中嗎?
DECLARE @mapping TABLE(
DestId int,
SourceId int);
INSERT INTO dest_table (column1, column2)
OUTPUT INSERTED.Id as DestId, src_table.Id as SourceId INTO @mapping
SELECT
src_table.column1,
src_table.column2
FROM src_table1 src_table
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.