这样一个SQL:
insert into log_v_session select * from v$session;
注:log_v_session是自己建的表,结构和v$session一样
直接跑没有问题,但是放到一个On Delete Trigger里面,trigger就编译不过去,总是提示v$session这个Table or view does not exist。
v$session不能在Trigger里面用吗?还是权限问题?
用这个东西是想在一条数据被删除的时候记录下这个删除操作的session信息和删除用的Sql,有没有其他办法?
原因很简单,就是权限问题,DBA最后给搞定了
9i后,可利用系统定义事件ORA_SQL_TXT属性,返回触发触发器的SQL语句。请看例子: (T可测试表,你可随便输入示例值,其中T_LOG用来记录SQL语句,当然你也可扩充其他信息).SQL> CREATE TABLE T_LOG (EXECUTE_DATE DATE, SQL_STATMENT CLOB);SQL> CREATE OR REPLACE TRIGGER T 2 BEFORE DELETE ON T3 FOR EACH ROW4 DECLARE5 V_SQL_OUT ORA_NAME_LIST_T;6 V_NUM NUMBER;7 V_SQL_STATMENT VARCHAR2(3276...