插入后在主语句中更新表列(在一条语句中)

问题描述 投票:-2回答:1

使用更新语句,如何直接将列值设置为插入语句的主键?我需要将此作为一个陈述。

我知道以下错误,但这有助于使我的想法通过:

update AppNationalities
set CountrySelectionID = (
                            select [INSERTED.pkID] from
                            (
                                insert into CountrySelections
                                output INSERTED.pkID
                                values(CountryID, 'test', 0)
                            )
                        )
sql sql-server sql-update primary-key sql-insert
1个回答
0
投票

将值放入临时表:

declare @ids table (pkID int);

insert into CountrySelections
    output INSERTED.pkID into @ids
    values (CountryID, 'test', 0);

update AppNationalities
    set CountrySelectionID = i.id
    from @ids i;

[我认为outputFROM语句的UPDATE子句中不允许DELETE子句。

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