首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >INSERT INSERT SELECT from UPDATE

INSERT INSERT SELECT from UPDATE
EN

Stack Overflow用户
提问于 2011-06-21 20:24:42
回答 2查看 1.9K关注 0票数 0

我需要从表中选择一些要更新的值,然后立即更新它们。此外,我需要在表中为每个更新的记录插入一条新记录。为了选择记录并进行更新,我使用了如下结构

代码语言:javascript
复制
UPDATE TableA SET SomeField = 1 OUTPUT RecordID FROM TableA WHERE RecordID IN
(    
    SELECT TOP @Something RecordID FROM TableA    
)

现在,对于插入部分,我想将UPDATE语句包装到一个INSERT INTO SELECT中,从而利用OUTPUT子句。但是,当我这样做时,SQL就会报错。

代码语言:javascript
复制
INSERT INTO TableA SELECT ( RecordID , GETDATE() ) FROM
(
    UPDATE TableA SET SomeField = 1 OUTPUT RecordID FROM TableA WHERE RecordID IN
    (        
        SELECT TOP @Something RecordID FROM TableA        
    )
)

即使使用OUTPUT子句,我也不能在一条语句中完成所有这些操作吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-21 20:49:28

代码语言:javascript
复制
UPDATE TableA SET SomeField = 1 
OUTPUT inserted.RecordID, GETDATE() into TableA (RecordID , DT)
FROM TableA 
WHERE RecordID IN
(        
    SELECT TOP @Something RecordID FROM TableA        
)

只是不确定--您是否再次尝试插入更新的行?

票数 2
EN

Stack Overflow用户

发布于 2011-06-21 20:30:26

可以使用output将更新后的行从一个表插入到另一个表中:但是,我无法使用您正在使用的语法。请查看此link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6425173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档