oracle触发器
来源:互联网 发布:数控机床的编程特点 编辑:程序博客网 时间:2024/05/29 16:20
一、五种触发器:语句触发器,行触发器,instead of触发器,系统事件触发器,用户事件触发器。
1.语句触发器
create tableemp_copy asselect empno,ename,job,sal from emp;
create tableemp_copy_log(who varchar2(30),when date);
create triggerbiufer_emp_copy
before insert orupdate or delete
on emp_copy
begin
insert into emp_copy_logvalues(user,sysdate);
end;
/
update emp_copy setsal=sal*2.0;
select *fromemp_copy_log;
2.行触发器
create tableperson(
personID numberprimary key,
personNamevarchar2(20));
create sequenceperson_seq;
create triggerbifer_person_personID_pk
before insert onperson
for each row
begin
select person_seq.nextval
into:new.personID from dual;
end;
/
insert intoperson(personName) values('Athos');
insert intoperson(personID,personName) values(5678,'Porthos');
insert intoperson(personName) values('Aramis');
select * fromperson;
3.instead of触发器
create or replaceview emp_job
as
selectempno,ename,job from emp;
create triggerupdate_emp_job_view1
instead of update on emp_job
begin
update emp
set empno=:new.empno,
ename=:new.ename,
job=:new.job
where empno=:old.empno;
end;
4.系统事件触发器:orcle系统允许开发人员建立与特定系统事件相关的触发器,特定事件如下:数据库启动,数据库关闭,服务器错误等。
create trigger ad_startup
after startup ondatabase
begin
--pl/sql代码
end;
5.用户事件触发器
create tabledrop_objects(
object_name varchar2(30),
object_type varchar2(30),
dropped_on date
);
create or replace
trigger lo_drop_trigger
before drop on lzm.schema
begin
insert into drop_objects
values(ora_dict_obj_name,ora_dict_obj_type,sysdate);
end;
/
create tabledrop_table(col1 number,col2 number);
create viewview_drop_table(columnA,columnB)
as
select col1,col2
from drop_table;
drop viewview_drop_table;
drop tabledrop_table;
select * fromdrop_objects;
二、禁用触发器:
altertrigger<trigger_name> disable;
altertrigger<trigger_name> enable;
三、查看触发器信息
selecttrigger_name,table_name from user_triggers;
- oracle 触发器
- Oracle触发器
- Oracle触发器
- oracle触发器
- ORACLE触发器
- oracle触发器
- Oracle 触发器
- oracle触发器
- Oracle触发器
- Oracle 触发器
- Oracle 触发器
- Oracle 触发器
- oracle触发器
- oracle 触发器
- Oracle触发器
- oracle触发器
- ORACLE触发器
- ORACLE 触发器
- win2008 oracle11gr2 RAC
- sybase数据库下载
- uva 529 Addition Chains
- SharePoint 2010 安装简介及相关补丁下载
- 文本动画制作与播放
- oracle触发器
- WebBrowser 中不显示 java小程序 Applet
- 使用CustomDraw来自绘CListCtrl控件
- 关键字volatile有什么含意?并给出三个不同的例子
- 有的没的
- 二叉排序树
- 此文胜过听三年的培训课
- 用jetty插件运行maven项目 在eclipse中如何debug 调试程序
- 14--5--3统计每个数字字符出现的次数