数据库中使用触发器实现级联删除的一个SQL实例

1.如果更改了院系编号 , 希望在此院系工作的教师还与此院系相关( 也就是同时更改教师表里的院系编号);
  Create Trigger dept1
      On dept                        -- dept 表中创建触发器
      for Update                         -- 为什么事件触发
    As                                       -- 事件触发后所要做的事情
      if Update(dno)          
      begin
        Update teacher
          Set dno=i.dno
          From teacher t , Deleted  d ,Inserted i     --Deleted( 旧数据表 ) Inserted (新数据表)
          Where t.dno=d.dno
      end
 
2.如果该院系已不存在了,希望删除它的编号的同时,也删除他院系里的教师记录。  
     Create trigger dept2
          On dept
          for Delete
       As
          Delete teacher
          From teacher t , Deleted d
          Where t.dno=d.dno

你可能感兴趣的:(数据库,职场,休闲)