首页 > 其他 > 详细

触发器

时间:2015-10-27 17:32:20      阅读:221      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!