Oracle触发器是什么呢?
--创建触发器(行级触发器)
create or replace trigger tri_update_emp_bak
after update
on emp_bak
for each row
--每更新一行 就触发一次
begin
--Oracle 里面 对触发器 也提供了特殊的对象 :NEW :OLD 来访问 更新前后的数据
dbms_output。 put_line('更新后' || :NEW。sal);
dbms_output。put_line('更新前' || :OLD。sal);
if updating then
end if;
if inserting
end;
--创建触...全部
--创建触发器(行级触发器)
create or replace trigger tri_update_emp_bak
after update
on emp_bak
for each row
--每更新一行 就触发一次
begin
--Oracle 里面 对触发器 也提供了特殊的对象 :NEW :OLD 来访问 更新前后的数据
dbms_output。
put_line('更新后' || :NEW。sal);
dbms_output。put_line('更新前' || :OLD。sal);
if updating then
end if;
if inserting
end;
--创建触发器(行级触发器)(前置)
create or replace trigger tri3_update_emp_bak
before update
on emp_bak
for each row
--每更新一行 就触发一次
begin
--oracle 里面 对触发器 也提供了特殊的对象 :NEW :OLD 来访问 更新前后的数据
dbms_output。
put_line('更新后' || :NEW。sal);
dbms_output。put_line('更新前' || :OLD。sal);
end;
select * from emp_bak
update emp_bak set sal = 1000 where empno in (7788)
--创建触发器(表级触发器)
--//表级别触发器里面 不允许使用 :NEW :OLD 变量
create or replace trigger tri2_update_emp_bak
after update
on emp_bak
begin
-- dbms_output。
put_line('更新后' || :NEW。sal);
--dbms_output。put_line('更新前' || :OLD。sal);
end;
--创建触发器(行级触发器)
create or replace trigger tri4_update_emp_bak
after update of sal
on emp_bak
for each row
--每更新一行 就触发一次
begin
--oracle 里面 对触发器 也提供了特殊的对象 :NEW :OLD 来访问 更新前后的数据
dbms_output。
put_line('更新后' || :NEW。sal);
dbms_output。put_line('更新前' || :OLD。sal);
end;
create table userinfo
(
userid number
(4) PRimary key,
username varchar2(20)
)
create table addrinfo
(
addrid number
(4) primary key,
addname varchar2(20),
userid number
(4) references userinfo(userid)
)
insert into userinfo values (1,'李四')
insert into addrinfo values (1,'湖北武汉',1)
select * from addrinfo
delete from userinfo where userid =1
--级联删除
create or replace trigger tri_userinfo_delete
before
delete
on userinfo
for each row
begin
delete from
addrinfo
where userid = :OLD。
userid;
-- insert into
end;
create table dept_bak as select * from dept
create or replace view
myview
as
select a。
empno,a。ename,a。sal,b。dname
from emp a inner join dept b
on a。deptno = b。deptno
select * from myview
考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。
其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。收起