--------高手们看看我的trigger为什么编译总有问题?-----------

yqasiaec 2005-12-09 11:37:53
我从网上下了一个trigger,但是执行的时候总是报 ---> 警告: 创建的触发器带有编译错误。
(save_err_audit表已经生成没问题)trigger如下:
create or replace trigger current_err_trigger trigger
after servererror on database
declare
v_user varchar2(30);
v_osuser varchar2(30);
v_machine varchar2(64);
v_process varchar2(8);
v_program varchar2(48);
v_sql varchar2(200);
begin
select username, osuser, machine, process, program,get_sql(a.sql_address,a.sql_hash_value) sql
into v_user, v_osuser, v_machine, v_process, v_program,v_sql
from sys.v_$session
where audsid = userenv('sessionid');

insert into save_err_audit
values(dbms_standard.server_error(1),
sysdate,v_user,
v_osuser,
v_machine,
v_process,
v_program,
v_sql);
end;
...全文
87 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
boydgmx 2006-01-16
  • 打赏
  • 举报
回复
楼上正解!

对于报错,你可以 show error 看看,慢慢积累经验,以后自己就可以根据报错信息判定问题了。
票票飞扬 2006-01-16
  • 打赏
  • 举报
回复
create or replace trigger current_err_trigger --多了个trigger
after servererror on database
declare
v_user varchar2(30);
v_osuser varchar2(30);
v_machine varchar2(64);
v_process varchar2(8);
v_program varchar2(48);
v_sql varchar2(200);
begin
select username, osuser, machine, process, program,get_sql(a.sql_address,a.sql_hash_value) sql
into v_user, v_osuser, v_machine, v_process, v_program,v_sql
from sys.v_$session
where audsid = userenv('sessionid');

insert into save_err_audit
values(dbms_standard.server_error(1),
sysdate,v_user,
v_osuser,
v_machine,
v_process,
v_program,
v_sql);
end;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧