我是靠谱客的博主 火星上书本,这篇文章主要介绍oracle create trigger,Create trigger时发生ora-00942,现在分享给大家,希望可以做个参考。

create new trigger如下:

create or replace trigger logoff_tri

before logoff on database

declare

logoff_sid varchar2(50);

logoff_datetime  date :=sysdate;

begin

select sid into logoff_sid from v$mystat where rownum<2;

insert into session_event_history

select s.SID,s.SERIAL#,s.USERNAME,s.OSUSER,s.PADDR,s.PROCESS,s.LOGON_TIME,s.TYPE,se.EVENT,se.TOTAL_WAITS,se.TOTAL_TIMEOUTS,se.TIME_WAITED,se.AVERAGE_WAIT,se.MAX_WAIT,sysdate datetime

from v$session_event se,v$session s

where se.SID=s.SID and s.sid=(select distinct sid from v$mystat where rownum<2);

commit;

end;

已知提示ORA-00942

当前是在system account下建立的。SQL界面可以查询v$session,v$mystat,v$session_event的相关数据的。

之后grant on赋予相关权限即可。

SQL> show user

USER 为 "SYS"

SQL> grant select on v_$mystat to system;

授权成功。

SQL> grant select on v_$session to system;

授权成功。

SQL> grant select on v_$session_event to system;

授权成功。

最后

以上就是火星上书本最近收集整理的关于oracle create trigger,Create trigger时发生ora-00942的全部内容,更多相关oracle内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部