exception when others then
   ...
...

解决方案 »

  1.   

    具体是什么,我不知道,不过可以跟踪出来,比如定义一个表记录这种信息,...
    exception 
    when others then
    errcode:=sqlcode; -- 错误号
    errmsg:=sqlerrm(sqlcode); -- 错误提示信息
    insert into errinfo values(errcode,errmsg);
    ...
      

  2.   

    我专门建了一个表ERRLOG用了存储错误,3个字段:
    字段DD   时间类型
    字段TAB  字符类型,用来记录触发器出错的表名
    字段FACT 字符类型,记录错误信息
    代码如下:
    exception 
    when others then
    insert into errinfo values(sysdate,'table_name',to_char(sqlerrm(sqlcode)));
    报错,提示sqlerrm不是有效的标识符,这是怎么回事?谢谢
      

  3.   

    去掉to_char
    insert into errinfo values(sysdate,'table_name',sqlerrm(sqlcode));
      

  4.   

    我去掉了to_char,insert into ERRLOG values(sysdate,'table_name',sqlerrm(sqlcode));仍旧说sqlerrm是无效的标识符,奇怪的是sqlerrm明明是蓝色的,应该是系统标识符啊
      

  5.   

    分开写看看
    str:=sqlerrm(sqlcode);
    insert into errinfo values(sysdate,'table_name',str);....
      

  6.   

    呵呵,我分开写,设了个变量就好了,谢谢njhart2003和各位了