加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

创建oracle包遇到PLS-00103:遇到符号“CREATE”

发布时间:2020-12-12 13:52:26 所属栏目:百科 来源:网络整理
导读:我正在使用Oracle sql开发者编写oracle包,我得到这个编译错误: Error(7,1): PLS-00103: Encountered the symbol “CREATE” . create or replacePACKAGE TestPackage AS FUNCTION beforePopulate RETURN BOOLEAN; FUNCTION afterPopulate RETURN BOOLEAN;E
我正在使用Oracle sql开发者编写oracle包,我得到这个编译错误:

Error(7,1): PLS-00103: Encountered the symbol “CREATE” .

create or replace
PACKAGE TestPackage AS 
 FUNCTION beforePopulate RETURN BOOLEAN;
 FUNCTION afterPopulate RETURN BOOLEAN;
END TestPackage;

CREATE OR REPLACE PACKAGE BODY TestPackage AS
   FUNCTION beforePopulate RETURN BOOLEAN AS
   BEGIN
      DELETE FROM TEST_1;
      INSERT INTO TEST_1
      SELECT * FROM TEST WHERE VALUE=300;
      COMMIT;
      RETURN TRUE;
     EXCEPTION
       WHEN OTHERS THEN
        RETURN FALSE;
   END;
   FUNCTION afterPopulate RETURN BOOLEAN AS
     BEGIN
         UPDATE TEST SET RESULT="completed" WHERE VALUE=300;
            COMMIT;
         RETURN TRUE;
         EXCEPTION
           WHEN OTHERS RETURN FALSE;
        END;
  END;
END TestPackage;

如果我添加/在第6行,错误变成:

Error(6,1): PLS-00103: Encountered the symbol “/”

我厌倦了这样一个空的实现:

create or replace 
package package1 as 
END PACKAGE1;

CREATE OR REPLACE 
package body package1 as 
end package1;

我得到了同样的错误。

当你有BEGIN,END等等你在PL / SQL,而不是SQL。

需要在行的开头处使用单个(“前进”)斜杠终止PL / SQL块。这告诉Oracle,你完成了你的PL / SQL块,所以它编译这个文本块。

SQL查询 – 以分号结尾:

update orders set status = 'COMPLETE' where order_id = 55255;

PL / SQL块 – 以分号分隔的命令,块由forward-slash终止:

create or replace procedure mark_order_complete (completed_order_id in number)
is
begin
     update orders set status = 'COMPLETE' where order_id = :completed_order_id;
end mark_order_complete;
/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读