首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORA-00900无效语句

ORA-00900无效语句
EN

Stack Overflow用户
提问于 2013-12-03 17:21:16
回答 1查看 704关注 0票数 0

我遇到了存储过程调用ORA-00900错误。我的代码是:

呼叫:

代码语言:javascript
复制
execute pkg_titularitalia.insertar(1,12,'123','123', 123, null);

存储过程:

代码语言:javascript
复制
 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 invalid statment

出什么问题了?

我把电话改成

代码语言:javascript
复制
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

====================================================================================

解决方案(我知道了)

代码语言:javascript
复制
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为我提供了begin/end块的declare部分中varchar的长度

EN

回答 1

Stack Overflow用户

发布于 2013-12-03 17:25:41

execute是一个SQL/Plus命令。要从另一个应用程序运行您的过程,只需将调用包装在PL/SQL块中:

代码语言:javascript
复制
begin
  pkg_titularitalia.insertar(1,12,'123','123', 123, null);
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20347169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档