繁体   English   中英

无法调用PL / SQL用户定义的过程

[英]Cannot call PL/SQL user defined procedure

我是PL / SQL的新手,我尝试定义和使用这样的过程:

create or replace procedure f()
is
BEGIN
   DBMS_OUTPUT.put_line('Hello world!');
END;
/ 

BEGIN
     f();
END;
/

但是,在调用f()中出现错误信息,并说“对象[用户名] .f无效”

我究竟做错了什么?

当你创建你的程序时,你应该看到类似的东西

Warning: Procedure created with compilation errors.

如果键入“show errors”或在SQL Developer中打开该过程并编译该过程,则会得到错误列表。 如果你这样做,你会看到类似的东西

SQL> sho err
Errors for PROCEDURE MY_PROC:

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/19     PLS-00103: Encountered the symbol ")" when expecting one of the
         following:
         <an identifier> <a double-quoted delimited-identifier>
         current delete exists prior

这告诉您作为create or replace procedure语句一部分的打开和关闭父项无效。 如果过程不带参数,则会省略定义中的括号

create or replace procedure f
is
BEGIN
   DBMS_OUTPUT.put_line('Hello world!');
END;

这应该编译,并且应该可以从您的匿名PL / SQL块中调用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM