暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
trigger.doc
134
8页
0次
2021-02-15
70墨值下载
触发器
是特定事件出现的时候,自动执行的代码块。类似于存储过程,但是用户不能直接调用
们。
功能:
1
允许
/
限制对表的修改
2
自动生成派生列,比如自增字段
3
强制数据一致性
4
提供审计和日志记录
5
防止无效的事务处理
6
启用复杂的业务逻辑
开始
create trigger biufer_employees_department_id
before insert or update
of department_id
on employees
referencing old as old_value
new as new_value
for each row
when (new_value.department_id<>80 )
begin
:new_value.commission_pct :=0;
end;
/
触发器的组成部分:
1
触发器名称
2
触发语句
3
触发器限制
4
触发操作
1
触发器名称
create trigger biufer_employees_department_id
命名习惯:
biufer
before insert update for each row
employees
表名
department_id
列名
2
触发语句
比如:
表或视图上的
DML
语句
DDL
语句
数据库关闭或启动
,startup shutdown
等等
before insert or update
of department_id
on employees
referencing old as old_value
new as new_value
for each row
说明:
1
无论是否规定了
department_id
,对
employees
表进行
insert
的时候
2
employees
表的
department_id
列进行
update
的时候
3
触发器限制
when (new_value.department_id<>80 )
限制不是必须的。此例表示如果列
department_id
不等于
80
的时候,触发器就会执行。
其中的
new_value
是代表跟新之后的值。
4
触发操作
是触发器的主体
begin
:new_value.commission_pct :=0;
end;
主体很简单,就是将更新后的
commission_pct
列置为
0
触发:
insert into employees(employee_id,
last_name,first_name,hire_date,job_id,email,department_id,salary,commission_pct )
values( 12345,’Chen’,’Donny’, sysdate, 12, ‘donny@hotmail.com’,60,10000,.25);
select commission_pct from employees where employee_id=12345;
触发器不会通知用户,便改变了用户的输入值。
触发器类型:
1
语句触发器
2
行触发器
3
INSTEAD OF
触发器
4
系统条件触发器
5
用户事件触发器
of 8
70墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜