⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 触发器2.sql

📁 sql中触发器的使用
💻 SQL
字号:
--如果在XS表中添加或更改数据库,则向客户端显示一条信息
use XSCj
go
if exists(select name from sysobjects where name='reminder' and type='TR')
    drop trigger reminder   
go
create trigger reminder 
  on xs
  for insert ,update
  as 
     raiserror(4008,16,10)

/*当向XS_KC表插入一条记录是,检查该记录的
  学号在XS表中是否存在,检查课程号在KC表中是否存在,若
  有一项为否,则不允许插入
*/
use XSCJ
go
if exists(select name from sysobjects where name='check_trig' and type='TR')
   drop trigger check_trig
go
create trigger check_trig
   on XS_KC
   for insert
   as
    if exists( select * 
               from inserted a
               where a.学号 not in(select b.学号 from XS b) or
               a.课程号 not in(select c.课程号 from  kc c)  )
         begin 
            raiserror('违背数据的一致性',16,1)
            rollback transaction
         end
--若对学号和课程号列修改,则给出提示信息,并取消操作
use XSCJ
go
/*
if exists(select name from sysobjects where name='update_trig' and type='TR')
   drop trigger check_trig
go*/
create trigger update_trig
   on XS_KC
   instead of update
as

    --
  if(columns_updated() & 3)>0   --11
      begin 
          raiserror('违背数据的一致性',16,1)
          rollback transaction 
      end 


          






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -