触发器

触发器是在用户进行某项操作的时候,会触发触发器的执行。它类似于JAVA中图形界面编程中的事件处理一样,是触发执行。和存储过程的主要区别在于:存储过程类似JAVA的对象,进行功能的封装(方法)。在调用的时候才会执行。而触发器只能在别的操作执行的时候才会触发触发器的执行。

创建触发器

--创建触发器1

if exists(select name from sysobjects

          where name='trigger1'and type='tr')

  drop trigger trigger1

go

create trigger trigger1

on stu

for insert

as

begin

   if exists(select * from stu where age<16 or age>30)

     begin

      print 'b ok'

      rollback

     end

   else

     begin

      print 'ok'

      commit

     end

end

go

  --该操作会触发触发器的执行

insert into stu values(2223,'adaf',12,103)

 创建触发器2

--创建出发器2

if exists(select name from sysobjects

          where name='trigger2'and type='tr')

  drop trigger trigger2

go

create trigger trigger2

on stu

for update

as

IF (select max(age) from stu) > 30

BEGIN

RAISERROR ('不能把年龄修改为30岁以上的,或者输入年龄大于30岁以上的', 16, 1)

ROLLBACK TRANSACTION

END

--该更新语句会触发触发器的执行

update stu

set age=116 where s_id=1001


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值