Oracle错误处理 [英] Oracle errors handling

查看:117
本文介绍了Oracle错误处理的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的代码:

DECLARE
  e_not_exist EXCEPTION;
  PRAGMA EXCEPTION_INIT(e_not_exist, -942);
  car_name VARCHAR2(20);
BEGIN
  select name_of_factory into car_name from car where car_id = 1;
  dbms_output.put_line(car_name);
EXCEPTION
  when e_not_exist then
    dbms_output.put_line('Table or view does not exist');
  when OTHERS then
    dbms_output.put_line(to_char(SQLCODE));
END;

实际上,我的表名称是CARS,但不是CAR.但是oracle无法处理此异常,并给我一个错误ORA-00942:表或视图不存在. 我该如何处理此异常?

Actually, my table name is CARS but not CAR. But oracle doesn't handle this exception and gives me an error ORA-00942: Table or view doesn't exist. How can I handle this exception?

推荐答案

使用静态SQL不能做到这一点.当代码正在编译而不执行时,将出现错误.尝试以下方法:

You can't do that with static SQL. The error is coming when the code is being compiled, not executed. Try this instead:

 execute immediate 'select name_of_factory from car where car_id = 1' 
                    into car_name ;

这篇关于Oracle错误处理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆