我收到商店程序ORA-00900错误的调用。我的代码是:
通话:
execute pkg_titularitalia.insertar(1,12,'123','123', 123, null);
存储过程:
PROCEDURE Insertar(pIdUsuarioSeg IN number,
pIdTitular IN OUT number,
pPartitaIVA IN OUT varchar,
pCodigoIS IN OUT varchar,
pIdUsuarioModificacion IN OUT number,
pFechamodificacion IN OUT date) AS
BEGIN
DBMS_OUTPUT.PUT_LINE('aa');
END;
如果我在控制台中测试,我会在DBMS控制台中看到结果,但是当我在代码中执行时,会给我错误ORA-00900无效的声明
有什么不对?
我改变了对
的调用declare
a number := 5643;
b varchar := '123';
c varchar := '';
d number := 5643;
e date;
begin
-- Call the procedure
execute insertar(1, a, b, c, d, e);
end;
正如大家所说,还在给我ORA-06550
=============================================== =====================================
declare
a number := 5643;
b varchar(13) := '123';
c varchar(39) := '';
d number := 5643;
e date;
begin
-- Call the procedure
execute insertar(1, a, b, c, d, e);
end;
006550给了我开始/结束块声明部分中varchar的长度
答案 0 :(得分:0)
execute
是一个SQL / Plus命令。要从另一个应用程序运行您的过程,只需将调用包装在PL / SQL块中:
begin
pkg_titularitalia.insertar(1,12,'123','123', 123, null);
end;