码迷,mamicode.com
首页 > 其他好文 > 详细

触发器

时间:2015-10-27 17:35:28      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

 

create sequence seqrole start with 4

create or replace trigger truserrolsinsert
before insert
on userroles
for each row
begin
if inserting then
select seqrole.nextval into :new.id from dual;(

将序列seqrole的下一个值 赋给新插入数据的id


end if;
end;

insert into userroles values(0,‘xx‘)

select * from userroles

2,

create or replace trigger truserrolsupdateordelete
after delete or update
on userroles
for each row
begin
if :old.id=3 then
dbms_output.put_line(‘管理员不能改也不能删除‘);
rollback;
end if;
end;

delete from userroles where id>=4
update userroles set name=name;

3,instead of 执行删除更新操作时触发,代替delete or update on viewUsers


for each row

create view viewUsers2
as
select * from users;


select * from viewUsers2
delete from viewUsers where id=3

create or replace trigger trviewUsersupdateordelete
instead of delete or update
on viewUsers
for each row
begin
dbms_output.put_line(‘要删除的用户是:‘||:old.name);
end;

delete from viewUsers

select * from viewUsers

触发器

标签:

原文地址:http://www.cnblogs.com/tian114527375/p/4914647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!