oracle中V$LOG和V$ARCHIVE这两张表为什么在存储过程中不能用,求指点。。。

2024-11-23 21:23:50
推荐回答(3个)
回答1:

先纠正你一下,其实这些V$开头的都是视图,不是表
这个东西在单独运行sql语句时是没问题的,但是在存储过程里不能直接被引用,不过可以通过一个变通的方法来进行

进入cmd
sqlplus /nolog
conn /as sysdba
create view sys_log as select * from v$log;
grant all on sys_log to 你的用户名;

然后退出

这个时候你再到存储过程里把所有的v$log替换成 sys.sys_log即可

另一个v$archive也用同样的方式来弄,不过那个create的视图名字你就要重新起一个了

回答2:

用V_$LOG和V_$ARCHIVE

回答3:

问题解决了没,我也遇到了这样的问题,你是怎么做的