数据库之SQL总结3 触发器

什么是触发器

一个在修改制定表中的数据时执行的存储过程。

    特点 : 通过事件  来触发,  比较被动

    优点:  自动执行 ; 

        可以通过相关表进行层叠更改; 

        可以强制限制,比CHECK约束所定义的更加复杂,

    种类: DDL触发器;   DML触发器;

 

 

创建INSERT触发器

create trigger T_addnum

on  学生信息

        for insert

as

          update 班级信息 set 班级人数=班级人数+1

        where 班级编号=(select 所属班级 from #inserted)   ‘创建触发器

 

Select 班级人数 form 班级信息 where 班级编号='2005010'

Insert into  学生信息 values ('2019','田泽凯','男','1997-10-23','汉','廊坊')

Select 班级人数 form 班级信息 where 班级编号='2005010'          '插入一个学生

 

创建DELETE 触发器

Cerate Trigger T_deleteteacher

On 教师信息

For DELETE

As

  select 姓名 as 被删除的教师姓名,性别,年龄,联系电话  From DELEted

 

 

删除记录

Delete form 教师信息 where 教师编号='2005001'

 

创建UPDATE触发器

Create trigger T_update

On 教师信息

For update

As

If (update(姓名)or update( 性别))

Begin

   print'事物不能被处理,基础数据不能修改!'

   rollback transaction

End

Else

     print'数据修改成功!'

 

创建DDL触发器

Create tigger T_notdelete

On database

For Drop_table,alter_table

As

    print'事物不能被处理,基础数据不能修改和删除!'

   rollback

 

 

Drop table_student

 

 

 

管理触发器

触发器-修改,  

法(1) 触发器-  禁用      法(2)alter table 员工信息

                                                                    disable trigger T_add

 

                                            启用

                                                    alter table 员工信息

                                                                    disable trigger T_add

 

 

触发器递归

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tzk_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值