触发器
来源:互联网 发布:华为业务软件 编辑:程序博客网 时间:2024/06/08 01:16
语句级触发器
create or replace trigger check_time
before
update or insert or delete
on aspnet_users
begin
if(to_char(sysdate,'DAY)in ('星期六','星期日'))
or to_char(sysdate,'HH24')<'08'
or to_char(sysdate,'HH24’)>='17' then
raise_application_error('-20500,‘非法时间!');
end if;
end;
行级触发器
create or replace trigger casade_update_departid
after
update of deptmentId
on department
for each row
begin
update deptment set deptment.parentDepartID=;NEW.departmentId
where department.parentDepartID=:OLD.DEPARTMENTiD;
UPDATE departmentusers set departmentusers.departmentID=:new.departmentiD
WHERE DepartmentUsers.departmentid=:old.departmentID;
END;
替代触发器(替代触发器只能用于视图上)
create or replace tirgger change_name
instead of
insert
on v_aspnet_usernaem
decalre
v_userno varchar2(20);
begin
select trim(to_char(max(userno)+1,'0009') into v_userno from
aspnet_users;
insert into aspnet_users(userno,username)values(v_usrno,:new.username);
数据库事件触发器
1.create or replace tirgger int_logon
after
startup
on database
begin
delete from userlog;
end;
create or replace trigger database_logon
after
logon
on database
begin
inser into userlog values(sys.login_user,sysdate);
end;
创建专门记录wms账户的登录时间
create or replace trigger wms_logon
after
logon on wms.schema
begin
inser into userlog values(syslogin_user,sysdate);
end;
DDL触发器
create or replace trigger nodrop_user
defore
drop on schema
begin
if upper(sys.dictionary_obj_name)='aspnet_user'then
raise_application_error(-2005,'错误信息:不能删除ASPNET_USES表’);
end if;
end;
create or replace trigger check_time
before
update or insert or delete
on aspnet_users
begin
if(to_char(sysdate,'DAY)in ('星期六','星期日'))
or to_char(sysdate,'HH24')<'08'
or to_char(sysdate,'HH24’)>='17' then
raise_application_error('-20500,‘非法时间!');
end if;
end;
行级触发器
create or replace trigger casade_update_departid
after
update of deptmentId
on department
for each row
begin
update deptment set deptment.parentDepartID=;NEW.departmentId
where department.parentDepartID=:OLD.DEPARTMENTiD;
UPDATE departmentusers set departmentusers.departmentID=:new.departmentiD
WHERE DepartmentUsers.departmentid=:old.departmentID;
END;
替代触发器(替代触发器只能用于视图上)
create or replace tirgger change_name
instead of
insert
on v_aspnet_usernaem
decalre
v_userno varchar2(20);
begin
select trim(to_char(max(userno)+1,'0009') into v_userno from
aspnet_users;
insert into aspnet_users(userno,username)values(v_usrno,:new.username);
数据库事件触发器
1.create or replace tirgger int_logon
after
startup
on database
begin
delete from userlog;
end;
create or replace trigger database_logon
after
logon
on database
begin
inser into userlog values(sys.login_user,sysdate);
end;
创建专门记录wms账户的登录时间
create or replace trigger wms_logon
after
logon on wms.schema
begin
inser into userlog values(syslogin_user,sysdate);
end;
DDL触发器
create or replace trigger nodrop_user
defore
drop on schema
begin
if upper(sys.dictionary_obj_name)='aspnet_user'then
raise_application_error(-2005,'错误信息:不能删除ASPNET_USES表’);
end if;
end;
0 0
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- 触发器
- JSON 字符串 与 java 对象的转换
- iOS 设计模式 - 原型模式
- 年终总结-从内向外转变的日子里 2015.7-2016.2
- StringTokenizer字符串分解器
- github入门实践(多人协作中分支的推送与抓取)
- 触发器
- pthread_join函数及linux线程
- 流程控制语句的识别
- 头文件防止重复定义方法
- iOS 设计模式 - 外观模式
- iOS 9 学习系列: MapKit
- Oracle dmp文件导入
- '-[__NSCFArray insertObject:atIndex:]: mutating method sent to immutable object'
- iOS触动精灵模拟触控类外挂原理分析