Oracle触发器Trigger基础1

/*
Trigger是作用在表上,或是数据库上,或是用户上。当用户在表上(其他)做某些操作时,trigger将会自己执行。
    可以在表上:insert,update,delete
    Trigger只对表的写入,修改、删除。
*/
/*
语法
CREATE [OR REPLACE] TRIGGER trigger名称 
{ BEFORE | AFTER | INSTEAD OF } 
–    在什么之前,或是在什么之后,用有具体的表上
–    Instend of 替换用在view上面trigger
 ON  - 添加到什么什么上面
{ someTable}   - 触发器作用在某个表上
[ for each row] – 行级触发器
}
[WHEN (条件,当什么时间触发下面的代码) ] 
Declare
  --..
Begin
    ...
End;
*/

--向一个表stud中写入数据,要求在后台输出一句:你写入成功了
create table tigger_t (
id int,
name varchar(30)
);
--修改表名
--rename old to new;
alter table TIGGER_T rename to trigger_t;
--还可以create 。。。。as select * ...
--drop 原来表名

--创建触发器
create or replace trigger t1
after insert on trigger_t
declare
begin
dbms_output.put_line('写入成功');
end;
--测试
set serveroutput on;
insert into trigger_t values(1,'jack');
commit;
--创建删除时的触发器
create or replace trigger t1
after delete on trigger_t--表级触发器,删除多少行只只能高兴一次plsql
 for each row--行级,没行都会执行
declare
begin
dbms_output.put_line('删除成功');
end;
set serveroutput on;
delete from trigger_t;
commit;
select * from trigger_t;
posted @ 2014-04-21 20:51  夏微风  阅读(218)  评论(0编辑  收藏  举报