2024年1月6日发(作者:)
触发器源代码
1.创建before语句触发器
sqlplus/nolog
conn sys/ldm as sysdba
create user test identified by test default tablespace t1;
grant dba to test;
在test用户下创建表empinf并为其插入一条语句,目的是为了方便实践触发器。
create table empinf(id int primary key not null, name varchar2(20),sal
number(8,2),job varchar2(10),dept varchar2(20));
insert into empinf
values(1,'Scofi',7000.00,'manager','软件部');
为表empinf创建了触发器tr_fmodify_empinf,使用户在星期二、星期六不可以更新表中的数据。
create or replace trigger tr_fmodify_empinf
before update on empinf
begin
if to_char(sysdate,'DY','nls_date_language=AMERICAN')
in ('TUE') then
raise_application_error(-20001,'不能在星期二对表update');
end if;
end;
/
要判断该触发器是否起作用,只要执行如下操作:
update empinf set sal=9000 where id=1;
update empinf set sal=9000 where id=1
2.创建after语句触发器
set serveroutput on
create or replace trigger tr_insert_empinf
after insert on empinf
begin
dbms__line('已经向表中插入了数据!');
end;
/
select into empinf
values(2,'Monh',5000,'clerk','人力资源部');
3.创建触发器
create or replace trigger tr_empinf_id
after insert on impinf for each row
begin
if:<=3 then
dbms__line('id应该大于3');
end if;
end;
/
insert into empinf values(3,'Bech',4500,'Clerck','人力资源部');
select * from empinf where id=3;
4.删除触发器
drop trigger tr_fmodify_empinf;
update empinf set sal=2000 where id=3;
select * from set empinf where id=3;
发布者:admin,转转请注明出处:http://www.yc00.com/news/1704480591a1353902.html
评论列表(0条)