oracle捕获外键违规

时间:2016-10-07 12:11:27

标签: oracle stored-procedures

首先,我不是母语人士,对不起我的英语。

我有一个Oracle存储过程。在这个存储过程中,我有一个插入会抛出一个ORA-02291异常但我的问题是它不会抛出任何除外。

CREATE OR REPLACE PROCEDURE X.mi_procedure (
    xano         IN       NUMBER,   
    xprograma    IN       VARCHAR2,
   Xciclo IN VARCHAR2,
   yresultado   OUT      BOOLEAN,
   ycodope      OUT      VARCHAR2
)
IS

............



 DBMS_OUTPUT.PUT_LINE('hola');

   INSERT INTO x.A
               (ano, cod_programa, centro, area_estudio, c_destino, REF,
                cursos, num_becas, num_meses, observaciones )
      SELECT ano, cod_programa, centro, area_estudio, c_destino, REF, cursos,
             num_becas, num_meses, observaciones
            FROM X.W
       WHERE cod_programa = xprograma AND ano = xano
       AND xciclo ='P;


DBMS_OUTPUT.PUT_LINE('error'||SQLCODE)
....................
 COMMIT;
EXCEPTION
WHEN OTHERS THEN
  RAISE;
end X.mi_procedure;

我的问题是甲骨文说程序已经完成,并没有抛出任何东西 ORA-02291例外,dmbsoput是:

HOLA error0

但是,如果我在SCRIPT ORACLE中运行SQL会抛出一个 ORA-02291例外。

有人可以解释这种情况吗?

谢谢

1 个答案:

答案 0 :(得分:0)

问题是程序参数的值......那些参数没有给出该sql的记录。

谢谢你。