Oracle SQL PLS-00103 创建包体时出错

Posted

技术标签:

【中文标题】Oracle SQL PLS-00103 创建包体时出错【英文标题】:Oracle SQL PLS-00103 Error when creating the package body 【发布时间】:2012-05-03 17:09:52 【问题描述】:

我收到以下错误:

以下内容的创建包操作不成功 原因:第 41 行的错误:PLS-00103:遇到符号 预期以下之一时的“文件结尾”:结束而不是编译指示 最终实例化顺序覆盖静态成员构造函数映射

代码如下:

CREATE OR REPLACE PACKAGE BODY update_quantity 
IS

PROCEDURE set_new_quantity(product_idProduct IN NUMBER, order_idOrder IN NUMBER, newquantity IN    NUMBER)
IS
BEGIN
 UPDATE Order_item o
 SET o.quantity = newquantity
 WHERE o.product_idProduct = product_idProduct     
        AND o.order_idOrder = order_idOrder; 

--EXCEPTION
      --WHEN NO_DATA_FOUND THEN
 --RAISE_APPLICATION_ERROR (-20100, 'No such quantity or order');

END set_new_quantity;

FUNCTION FUNCTION existing_quantity_f(product_idProduct IN NUMBER, order_idOrder IN NUMBER)  RETURN NUMBER

IS

existing_newquantity NUMBER(4);

BEGIN
SELECT o.quantity INTO existing_newquantity 
FROM ORDER_item o
WHERE
        o.product_idProduct = product_idProduct     
        AND o.order_idOrder = order_idOrder; 

RETURN (existing_newquantity);

--EXCEPTION
     -- WHEN NO_DATA_FOUND THEN
--RAISE_APPLICATION_ERROR (-20100, 'No such employee or project');

END existing_quantity_f;

我已经注释掉了异常,最初认为这可能是一个问题,但错误仍然存​​在。

有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

在包体的最后需要如下语句

END update_quantity;

【讨论】:

以上是关于Oracle SQL PLS-00103 创建包体时出错的主要内容,如果未能解决你的问题,请参考以下文章

运行程序时出现错误 PLS-00103

在oracle sql中,我在删除插入表后创建但收到此错误PLS-00103:遇到符号“DELETE”[重复]

Oracle PL/SQL 错误 PLS-00103

Sql 过程如何使用 IN OUT 返回多个值:PLS-00103 错误

在 Oracle 下创建存储过程时出错 - PLS-00103

Oracle PL-SQL 函数出现错误 PLS-00103:在预期以下情况之一时遇到符号“SELECT”