我有这样的table:
主要的
id name isedit
1 kyle 0
2 jhon 1
3 dave 0
编辑历史记录
id idmain name isedit Begin end
1 2 jhon 0 28.05.2020 18:30 28.05.2020 18:35
2 2 jhon 0 28.05.2020 18:35 NULL
3 1 kyle 0 27.05.2020 12:03 NULL
我当前使用触发器:
(…) if update(isedit) and exists (
select 1
from Inserted I
where design = 0
) begin
Insert into dbo.HistoryEdit
([idmain][name][isedit][Begin][end]) SELECT id, name, iedit, GETDATE(), null
from Inserted
end;
我需要创建一个游标来检查 EditHistory
对于具有相同 idmain
如果有这样的行,编辑它的结束日期 GETDATE()
并插入 HistoryEdit
就像我现在的插页一样。
我知道用if很容易做到,我也会这么做。但我必须使用游标,我以前从未使用过游标。
1条答案
按热度按时间lvmkulzt1#
我以前从没用过游标。
好吧,现在不要开始。只需在插入新行之前更新旧行: