sql - 插入后用主键更新表列(在一个语句中)
问题描述
使用更新语句,如何直接将列值设置为插入语句的主键?我需要这个作为一个声明。
我知道以下是错误的,但它有助于我的想法通过:
update AppNationalities
set CountrySelectionID = (
select [INSERTED.pkID] from
(
insert into CountrySelections
output INSERTED.pkID
values(CountryID, 'test', 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;
我认为在or语句的output
子句中不允许使用该FROM
子句。UPDATE
DELETE
推荐阅读
- python - 覆盆子:没有名为 flask_api 的模块
- python - to_sql() 缺少 1 个必需的位置参数:'con'
- linux - 已解决:使用 RSA 令牌通过主机到网络上的服务器的 Docker 容器隧道
- c# - 在 Visual Studio 2019 上使用 Bunifu 框架
- wso2 - java.lang.ClassCastException:java.util.ArrayList 无法转换为 org.wso2.carbon.apimgt.impl.dto.VerbInfoDTO
- javascript - 如何从输入中获取图像的正确位置并使用 javascript 显示它?
- apache - 使用“.conf”文件使所有子域指向单个文件/文件夹
- pymongo - 'NoneType' 对象不可下标 pymongo
- javascript - 重置倒计时
- javascript - Merge multiple object values of array into 1