create oracle package encountered PLS-00103: Encountered the symbol quot;CREATEquot;(创建oracle包遇到PLS-00103:遇到符号“CREATE;)
问题描述
我正在使用 Oracle sql developer 编写一个 oracle 包,我收到了这个编译错误:
I am writing an oracle package using Oracle sql developer, I got this compile error:
错误(7,1):PLS-00103:遇到符号CREATE".
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 行添加 /
,错误变成:
If I add a /
at line 6, the error became:
错误(6,1):PLS-00103:遇到符号/"
Error(6,1): PLS-00103: Encountered the symbol "/"
我厌倦了这样一个空的实现:
I tired an empty implementation like this:
create or replace
package package1 as
END PACKAGE1;
CREATE OR REPLACE
package body package1 as
end package1;
我也犯了同样的错误.
推荐答案
当你有 BEGIN、END 等时,你是在 PL/SQL,而不是 SQL.
When you have BEGIN, END, etc you are in PL/SQL, not SQL.
PL/SQL 块需要在行的最开始用一个(正向")斜线终止.这告诉 Oracle 您已经完成了 PL/SQL 块,因此它会编译该文本块.
A PL/SQL block needs to be terminated with a single ("forward") slash at the very beginning of the line. This tells Oracle that you are done with your PL/SQL block, so it compiles that block of text.
SQL 查询 - 以分号终止:
SQL query - terminated by semicolon:
update orders set status = 'COMPLETE' where order_id = 55255;
PL/SQL 块 - 命令以分号分隔,块以正斜杠终止:
PL/SQL block - commands separated by semicolon, block is terminated by 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;
/
这篇关于创建oracle包遇到PLS-00103:遇到符号“CREATE";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:创建oracle包遇到PLS-00103:遇到符号“CREATE";


- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- SQL 临时表问题 2022-01-01
- 更改自动增量起始编号? 2021-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01