deleted 和 inserted 是逻辑(概念)表。这些表在结构上类似于定义触发器的表(也就是在其中尝试用户操作的表);这些表用于保存用户操作可能更改的行的旧值或新值。例如,若要检索 deleted 表中的所有值,请使用:
select *
from deleted
create trigger tr_lkcrm_sqjbxxins
on dbo.lkcrm_sqsp_sqjbxx
for insert
as
begin
declare cur_lkcrm_sqjbxxins cursor for select ins.sqxh,ins.dyxh,ins.sqlb from inserted ins
declare @sqxh int
declare @dyxh int
declare @sqlb nvarchar(2) open cur_lkcrm_sqjbxxins
fetch next from cur_lkcrm_sqjbxxins into @sqxh,@dyxh,@sqlb
while @@fetch_status = 0
begin
if @sqlb='01' or @sqlb='04'
update lkcrm_dd_ddxx set sptgbz='0' where ddxh=@dyxh
else
begin
if @sqlb='02'
update lkcrm_dd_thdxx set sptgbz='0' where thdxh=@dyxh
else
begin
if @sqlb='03'
update lkcrm_sc_schdjl set sptgbz='0' where hdxh=@dyxh
end
end
fetch next from cur_lkcrm_sqjbxxins into @sqxh,@dyxh,@sqlb
end
close cur_lkcrm_sqjbxxins deallocate cur_lkcrm_sqjbxxins
end