怎么用sql里的触发器建一个删除的触发器,主要是来判断所删的会员是不是已过期,年限为一年,会员表中有注册日期,这要怎么建啊,急求高手帮助啊!
答案:2 悬赏:0 手机版
解决时间 2021-04-28 21:37
- 提问者网友:我的未来我做主
- 2021-04-27 23:27
怎么用sql里的触发器建一个删除的触发器,主要是来判断所删的会员是不是已过期,年限为一年,会员表中有注册日期,这要怎么建啊,急求高手帮助啊!
最佳答案
- 五星知识达人网友:撞了怀
- 2021-04-28 00:48
--2
CREATE TRIGGER TRI_DEL ON Student
FOR DELETe
AS
UPDATE Class SET ClaCount=ClaCount-1 FROM Class,DELETeD WHERe Class.ClaID=DELETED.ClaID
UPDATE DepCount SET DepCount=DepCount-1 FROM Class,DELETED ,Department
WHERe Class.ClaID=DELETED.ClaID AND CLASS.DepID=Department.DepID
CREATE TRIGGER TRI_DEL ON Student
FOR DELETe
AS
UPDATE Class SET ClaCount=ClaCount-1 FROM Class,DELETeD WHERe Class.ClaID=DELETED.ClaID
UPDATE DepCount SET DepCount=DepCount-1 FROM Class,DELETED ,Department
WHERe Class.ClaID=DELETED.ClaID AND CLASS.DepID=Department.DepID
全部回答
- 1楼网友:慢性怪人
- 2021-04-28 01:43
在Microsoft SQL Server中,对于before delete触发器,被删除的纪录在deleted表中,如楼上例子中。
为了不被删除,可以尝试把所需记录再从deleted表中select出来,重新插入原表中。
例如: 再触发器中insert 会员表 select * from deleted where 日期不满一年。
当然,如楼上所言,直接修改程序限制删除条件也许更方便。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯