SQL Server 2000 数据库系统—触发器
一、教学目标
1. 了解什么是触发器,触发器的定义
2. 了解触发器有几种类型
3. 掌握触发器的创建语法
4. 掌握触发器的使用,能灵活运用触发器
二、教学内容
1.什么是触发器:
定义:触发器是用户定义的,经过编译后存储于数据库内部的过程代码。
当用户执行insert 、update 或 delete语句时,该段代码将自动执行。
优点:1. 自动执行 2. 能级联更新 3.强制限制
2.触发器的类型:
根据由何种DML语句触发,可分为:
Insert 触发器
Update 触发器
Delete 触发器
3.触发器的创建语法:
Create trigger 触发器名称
On 表名/视图名
For Insert | Update | Delete
As
T-sql语句
举例1: 1. Create trigger tri_First
On student
For insert
As
Print ‘This is my first trigger’
2. Insert into student values(1001,’张三’)
4. 触发器可能会涉及使用到的两张表:
Inserted 表:插入(Insert)语句执行时,将要插入的值被临时保存在该表中。
Deleted 表:删除(Delete)语句执行时,被删除的值临时保存在该表中。
特点:临时保存在内存中
只读的
注意:update时,两张表如何作用
举例2: 1. Create trigger tri_InStu
On student
For insert
As
Select * from inserted
2. Insert into student values(1002,’李四’)
课堂补充:编写update触发器,使用inserted和deleted表的情况
综合示例:
三张表:入库(in_store)、出库(out_store)、库存(store)
1. Create trigger tri_inStore
On in_store
For insert
As
Begin
Declare @goods_id varchar(10), goods_num int
Select @goods_id=goods_id,@goods_num=goods_num from inserted
--修改库存表
Update store set goods_num=goods_num+@goods_num
Where goods_id=@goods_id
End
2. select * from in_store
select * from store
3. Insert into in_store values(‘b001’,300)
4. select * from in_store
select * from store
课后作业:编写出触发器,当出库时能自动减少对应商品在库存表中的数量
PAGE
2
本文档为【SQL理论SQL理论SQL13_触发器触发器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。