我有一个sql查询,它检索所有具有[stat\u tg]=“inserted”的记录,并将输出转换为xml文件,最后将所有具有[stat\u tg]=“inserted”的记录更新为[stat\u tg]=“deleted”。我的要求是在将记录检索到xml之后立即更新[stat\u tg]字段。我的问题如下。
BEGIN
SELECT * FROM
(
SELECT
PXTXTP,
PXTXCD,
PXACCD
FROM [RecordDetails].[dbo].[Records]
WHERE [STAT_TG] = 'INSERTED'
) AS "Transaction"
FOR XML AUTO, ELEMENTS, ROOT('DataArea')
UPDATE [RecordDetails].[dbo].[Records]
SET [STAT_TG] = 'DELETED'
FROM [RecordDetails].[dbo].[Records]
WHERE [STAT_TG] = 'INSERTED'
end
此表正在从另一个系统更新,并且始终在更新。对于开发需求,此查询计划为1秒。因此,有时当标志更新为[stat\u tg]=“deleted”时,没有检索到的记录也会更新为deleted,并且它们不会出现在输出xml文件中。所以有人能帮我做到这一点吗?
1条答案
按热度按时间zujrkrfu1#
假设这些字段的类型都是varchar(10),下面是一个示例: