我是Sql server的新手。我有一个存储过程。我需要从table1中选择记录到日期中的特定时间,并在该table1中更新状态为true。还需要从表2中选择记录并从中删除在将所选记录插入表3之后,每个记录满足来自该表2的条件。 任何人都有解决方案,请帮助。谢谢。
var correlation_id = Guid.NewGuid().ToString();
msg.add("CORRELATION_ID", correlation_id);
答案 0 :(得分:0)
没有任何真实的样本数据......这看起来就像你想要做的那样。
update table1
set someCol = 'someVal'
where anotherColumn in (select anotherColumn from table1 where <condition>)
delete t2
from table2 t2
inner join
table3 t3 on t3.colID = t2.colID
where <some condition>
答案 1 :(得分:0)
您希望根据条件(时间&gt; 1:00:00)更新表1中的状态列。然后,您希望根据相同的条件从Table2中删除记录,并在表3中插入已删除的记录。
CREATE PROC dbo.DetailsUpdate
AS
BEGIN
UPDATE table1
SET [Status]= 'True'
WHERE CAST(Stime AS TIME) > '01:00:00'
DELETE FROM table2
OUTPUT deleted.* INTO Table3
WHERE CAST(Stime AS TIME) > '01:00:00'
END