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

问题描述 投票:0回答:1

我需要将数据插入表中,并且需要从目标表中输出新插入的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上运行!!!>

是否有任何方法可以解决此问题而无需解析游标并一一插入值?

我需要将数据插入表中,并且需要从目标表中输出新插入的ID,并将其与源表中的ID映射在一起。我有以下查询:DECLARE @mapping ...

sql sql-server tsql sql-server-2005
1个回答
1
投票

看起来像是错字。该表为src_table1(末尾为1),而别名使用src_table(末尾为1)。您可以仅将别名添加到表中吗?

© www.soinside.com 2019 - 2024. All rights reserved.