博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle 触发器
阅读量:4602 次
发布时间:2019-06-09

本文共 1322 字,大约阅读时间需要 4 分钟。

----触发器---

---创建中间插入的表

create table session_history tablespace bap_data

as (select sid,username,program,machine,'000.000.000.000'ipadd,sysdate moditime from v$session where 0=1);

 

---创建触发器---只要登陆数据库就触发

 

create or replace trigger on_logon_trigger

 after logon on database
 begin
insert into session_history select sid,username,program,machine,sys_context('userenv','ip_address'),sysdate from v$session where audsid = userenv('sessionid');
end;

 

---查询登陆信息

select * from  session_history q where q.username not in ('SYS');

 

 

-------触发器针对对数据库表做修改-------

1.创建存触发触发器数据的表

 create table test.trigger_test tablespace test_data as (select sid,username,program,machine,'000.000.000.000'ipadd,sysdate moditime from v$session where 0=1);

 2.创建对应触发器

create or replace trigger test.T_test_trigger
 before delete or update on test.T_test
 for each row
begin
 insert into test.trigger_test select sid,username,program,machine,sys_context('userenv','ip_address'),sysdate from v$session where audsid = userenv('sessionid');
 end;

 3.给触发器所有者赋权限

grant select,update,insert on bap.trigger_test to test;

4.测试触发器是否生效

 update  BAP.T_test qq set qq.bnk_no='' where  BNK_CD='888';

5.验证是否有数据入表

 select * from test.trigger_test;

6.其他操作

--DROP trigger  test.T_test_trigger
select * from dba_triggers ww where ww.owner=TEST;

 

转载于:https://www.cnblogs.com/ss-33/p/8930760.html

你可能感兴趣的文章
eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能(同时解决自动补全变量名的问题)?...
查看>>
给mysql表增加字段 create_time 自动插入当前时间
查看>>
XML笔记
查看>>
mCustomScrollbar
查看>>
AngularJs学习笔记--Creating Services
查看>>
《JS高级程序设计》之六
查看>>
纯静态文件环境下的Nginx优化思路
查看>>
centos 查看mysql数据库命令
查看>>
差异演化
查看>>
2013年读书计划
查看>>
Head First Servlet and JSP 笔记 JSP 部分 (未完待续)
查看>>
内置函数,递归函数和匿名函数
查看>>
php函数引用返回
查看>>
C#程序中注释过多的8条理由
查看>>
OpenFire源码学习之十六:wildfire
查看>>
一个90后创业者血与泪的教训
查看>>
去掉C#中Guid.NewGuid().ToString()自动生成的短横线
查看>>
map-reduce的八个流程
查看>>
JEECG中表单提交的中断
查看>>
对帐脚本语言的修改
查看>>