instead of 触发器的用法
来源:互联网 发布:mysql 中文全文索引 编辑:程序博客网 时间:2024/05/21 13:56
INSTEAD OF 触发器的主要优点是可以使不能更新的视图支持更新。基于多个基表的视图必须使用
INSTEAD OF 触发器来支持引用多个表中数据的插入、更新和删除操作。INSTEAD OF 触发器的另一个优点是使您得以编写这样的逻辑代码:在允许批处理的其他部分成功的同时拒绝批处理中的某些部分。
Transact-SQL 语句创建两个基表、一个视图和视图上的 INSTEAD OF 触发器。以下表将个人数据和业务数据分开并且是视图的基表。
/*在视图上定义 instead of insert 触发器以在一个或多个基表中插入数据。*/
--部门表
create table dept
(
d_id int primary key,
d_name varchar(20)
)
--员工表
create table emp
(
e_id int primary key,
e_name varchar(20),
d_id int references dept(d_id)
)
select * from emp
drop view v
create view v
as
select e_id,e_name,d.d_id,d_name from emp e,dept d where e.d_id=d.d_id
select * from v
insert into v values(1001,'张珊',101,'销售部')
/*******************使用instead of 触发器******************/
drop trigger de_em_insert
go
create trigger de_em_insert
on v
instead of insert
as
begin
if (not exists (select d.d_id from dept d, inserted i where d.d_id = i.d_id))
insert into dept select d_id,d_name from inserted
if (not exists (select e.d_id from emp e, inserted i where e.d_id = i.d_id))
insert into emp select e_id,e_name,d_id from inserted
else
update emp set e_id = i.e_id,e_name = i.e_name from emp e, inserted i where e.d_id = i.d_id
end
可以在视图或表中定义 INSTEAD OF DELETE 触发器,以代替 DELETE 语句的标准操作。通常,在视图上定义 INSTEAD OF DELETE 触发器以便在一个或多个基表中修改数据。
可在视图上定义 INSTEAD OF UPDATE 触发器以代替 UPDATE 语句的标准操作。通常,在视图上定义 INSTEAD OF UPDATE 触发器以便修改一个或多个基表中的数据。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/vigorlin/archive/2007/10/10/1818948.aspx
- instead of 触发器的用法
- instead of 触发器的用法
- instead of 触发器的用法
- 触发器 INSTEAD OF 和 AFTER 的区别
- Oracle Instead of 触发器的使用
- 触发器的Instead of 与 After
- INSTEAD OF 触发器的使用陷阱
- 设计 INSTEAD OF 触发器
- instead of触发器
- INSTEAD OF 触发器
- 设计 INSTEAD OF 触发器
- instead of触发器
- INSTEAD OF 触发器
- 关于 INSTEAD OF 触发器
- 关于 INSTEAD OF 触发器
- INSTEAD OF 触发器
- oracle INSTEAD OF 触发器
- Instead Of 触发器
- Python入门
- WAVE 文件格式
- 面向对象设计模式之Composite组合模式学习笔记
- 读取wav文件头,获取文件详细信息
- Win Phone 7 教程 ---- 入门
- instead of 触发器的用法
- wmi学习笔记
- 查找路径乱码代码
- Drupal url alias 的jquerymenu菜单展开的问题
- Win7的80端口默认是被System进程占用
- Qutecom手记:配置QuteCom开发环境
- diskpart的应用
- AutoIT函数
- 【二分查找法】