首先,我不是母语人士,对不起我的英语。
我有一个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例外。
有人可以解释这种情况吗?
谢谢
答案 0 :(得分:0)
问题是程序参数的值......那些参数没有给出该sql的记录。
谢谢你。