TableA(
id,
type,--类型
plandate--计划时间,varchar(10)
)
TableB(
Fid,--外键,和TableA中的ID关联
realdate--实际日期,varchar(10)
)
TableA的记录会和TableB中的记录一一对应。
当TableB中的字段realdate发生改变时(insert的时候不算),判断realdate的值是否小于TableA中plandate的的值,如果小于,执行触发器,将TableA中的type赋值“10”;如果不小于,则不执行触发器。
请教一下如何写这个语句,刚学习触发器,希望能回复完整的sql,谢谢!
问题补充:自己学着写了一个,测试没发现什么问题
--创建触发器
Create Trigger t_TableB_bykmd
On TableB
for Update
As
if Update(realdate)
begin
if(select COUNT(*) from TableB a, TableA b,inserted c
where a.realdate>b.plandate and a.fid=b.id
and a.fid=c.fid)=1
begin
Update br Set br.type='10'
From TableA br , Inserted ins
Where br.id=ins.fid
end
end
暮色呼如
九州编程
相关分类