【问题标题】:PLS-00103: Encountered the symbol ")" when expecting one of the following: (PLS-00103:在预期以下情况之一时遇到符号“)”:(
【发布时间】:2026-01-10 12:25:01
【问题描述】:

我是 oracle 的初学者,以下是我的函数定义和调用部分。我无法理解调用该函数时出现的错误。请帮我纠正我的代码。

ORA-06550:第 4 行,第 56 列:PLS-00103:在预期以下情况之一时遇到符号“)”:(

create or replace function totalcustomers
RETURN number
IS
total number:=0;
BEGIN
select count(*) into total from customers;
RETURN total;
END;
/

declare sum number;
BEGIN
sum := totalcustomers();
dbms_output.put_line('Total number of customers '||sum);
END;
/

【问题讨论】:

    标签: oracle plsql oracle12c


    【解决方案1】:

    不要将sum 用作Oracle 中保留关键字的变量。

    【讨论】:

      【解决方案2】:

      Sum 是一个函数,因此它需要打开的括号。重命名变量。

      【讨论】:

        【解决方案3】:

        函数调用部分抛出了上述错误,因为“sum”可能是 oracle 中的预定义关键字。如下更改变量会有所帮助。

        declare x number;
        BEGIN
        x:=totalcustomers();
        dbms_output.put_line(' Total number of customers: '||x);
        END;
        /
        

        输出: 已处理报表。 客户总数:6

        【讨论】:

          最近更新 更多