簡體   English   中英

SQL Server INSERT-OUTPUT 包括來自其他表的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM