首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在sqlplus中执行PL/ sqlplus?

如何在sqlplus中执行PL/ sqlplus?
EN

Stack Overflow用户
提问于 2015-11-12 04:22:43
回答 1查看 1.2K关注 0票数 2

我有神谕。我的SP如下所示

代码语言:javascript
复制
create or replace

PROCEDURE GETMONITORING
(
v_namabarang in varchar2 default null,
v_JenisLayanan in varchar2 default null,
cv_1 IN OUT SYS_REFCURSOR
)
AS
  v_where  VARCHAR2(200);
  v_Select VARCHAR2(200);
  v_from   VARCHAR2(200);
  v_final  VARCHAR2(200);
  v_result VARCHAR2(200);
BEGIN
  v_Select:='select * ';
  v_from  :='from permohonan ';
  v_where :='where sysdate=sysdate ';

IF nvl(length(v_namabarang),0) <> 0 then 
      v_Where := v_Where || ' AND namabarang like ''' || v_namabarang|| '%'' ';
  end if;

IF nvl(length(v_jenislayanan),0) <> 0 then 
      v_Where := v_Where || ' AND jenislayanan like ''' || v_jenislayanan || '%'' ';
  end if;

  v_final :=v_select|| v_from|| v_where;

 dbms_output.put_line(v_result);

END;

我试着用sqlplus来执行

代码语言:javascript
复制
SQL> var r refcursor;

SQL> exec getmonitoring('AC','1',:r);

SQL>print :r;

结果是"ORA-24338":语句句柄未执行。

我是怎么用sqlplus来执行SP的?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-12 06:39:17

错误很明显,因为您从来没有打开游标,而是将SYS_REFCURSOR作为OUT参数进行引用。

ORA-24338:语句句柄未执行 原因:在执行语句句柄之前尝试进行提取或描述。 操作:执行一条语句,然后获取或描述数据。

您需要将打开的游标用于.语句:

代码语言:javascript
复制
v_final :=v_select|| v_from|| v_where;

-- open the cursor
OPEN cv_1 FOR v_final;

另外,当在SQL*Plus中编译PL/SQL时,如果您看到错误,则应该始终使用显示错误来查看完整的错误堆栈。

例如,

代码语言:javascript
复制
SQL> create or replace procedure p
  2  as
  3  begin
  4  null
  5  end;
  6  /

Warning: Procedure created with compilation errors.

SQL> show errors
Errors for PROCEDURE P:

LINE/COL ERROR
-------- -----------------------------------------------------------------
5/1      PLS-00103: Encountered the symbol "END" when expecting one of the
         following:
         ;
         The symbol ";" was substituted for "END" to continue.

因此,现在您知道确切的行号错误消息,这将帮助您调试和修复错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33664397

复制
相关文章

相似问题

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