设为首页 加入收藏

TOP

解析oracle触发器
2014-11-24 02:24:38 来源: 作者: 【 】 浏览:1
Tags:解析 oracle 触发器
l 数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(Insert,update,delete)在指定的表上发出时, Oracle自动地执行触发器中定义的语句序列。
l
l触发器的类型
语句级触发器
在指定的操作语句操作之前或之后执行一次,不管这条语句影响了多少行。
行级触发器(FOREACH ROW)
触发语句作用的每一条记录都被触发。在行级触发器中使用old和new伪记录变量, 识别值的状态。
CREATE [or REPLACE] TRIGGER 触发器名
{BEFORE | AFTER}
{DELETE | INSERT | UPDATE [OF列名]}
ON 表名
[FOR EACH ROW [WHEN(条件) ] ]
PLSQL 块
限制非工作时间向数据库插入数据
create or replace
trigger insertEmp
before insert on emp
declare
begin
if to_char(sysdate,'day') in ('星期六') or to_number(to_char(sysdate,'hh24')) between 18 and 24
then
raise_application_error(-20001,'非工作日');
end if;
end;
确认数据(检查emp表中sal的修改值不低于原值)
create or replace trigger updateemp
before update on emp
for each row
declare
-- local variables here
begin
if:new.sal<:old.sal then
raise_application_error(-20001,'更改的值不能小于眼有的值');
end if;
end updateemp;
摘自 张晓丛的专栏
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇oracle自增长触发器 下一篇PL/SQL中触发器的简单使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: