花开只为见韦陀
2021-12-31 09:31
采纳率: 100%
浏览 26

Sqlserver触发器语句转换成MySql语句

--创建delete触发器,实现学校信息级联删除

create trigger dSclno_trig on School
instead of delete
as
begin
declare @sclno varchar(20)
select @sclno=Sclno from deleted
delete from Stu_Scl where Sclno=@sclno
delete from Scl_Maj where Sclno=@sclno
delete from School where Sclno=@sclno
end;

--AFTER触发器的应用实现
--创建updata触发器,要求当在学校信息表(School)修改学校编号字段时,Scl_Maj中的学校编号也相应修改

create trigger Sclno_trig
on School
for update
as
if update(Sclno)
update Scl_Maj
set Scl_Maj.Sclno=(select Sclno from inserted)
where Scl_Maj.Sclno=(select Sclno from deleted)
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2021-12-31 15:36
    最佳回答

    第一个触发器改成before,用old.sclno 来删Stu_Scl和Scl_Maj就好了
    第二个触发器,where里找old.sclno,然后更新成new.sclno

    具体语法请参考官方文档

    评论
    解决 无用
    打赏 举报