PLS-00103:遇到符号“/”
Posted
技术标签:
【中文标题】PLS-00103:遇到符号“/”【英文标题】:PLS-00103: Encountered the symbol "/" 【发布时间】:2016-11-13 02:58:08 【问题描述】:我知道这个问题已经被问过很多次了,但我的问题似乎并没有消失。我已经将分隔符放在正确的位置,但我仍然不断收到错误 'Error(9,1): Encountered the symbol "/"' 在第 9 行。如果我没记错的话,是导致错误的分隔符一定会在那里。
CREATE OR REPLACE PACKAGE FOR_CLASS_NOV2 AS
PROCEDURE PRINT_SNAME(S_NO S.SNO%TYPE);
FUNCTION FIND_MAX_QTY
RETURN NUMBER;
END;
/
CREATE OR REPLACE PACKAGE BODY FOR_CLASS_NOV2 AS
PROCEDURE PRINT_SNAME(S_NO S.SNO%TYPE) IS
S_SNAME S.SNAME%TYPE;
BEGIN
SELECT SNAME
INTO S_SNAME
FROM S
WHERE SNO = S_NO;
DBMS_OUT.PUT_LINE('SUPPLIER NAME IS: ' || S_NAME);
END PRINT_SNAME;
FUNCTION FIND_MAX_QTY()
RETURN NUMBER IS
M_QTY NUMBER;
BEGIN
SELECT AX(STY)
INTO M_QTY
FROM SP;
RETURN M_QTY;
END FIND_MAX_QTY;
END;
/
【问题讨论】:
你是如何运行脚本的?您标记了 2 个不同的客户端工具,所以这有点令人困惑。/
通常在针对 SQLPlus 客户端运行脚本时使用。使用 SQLDeveloper 运行时它不应该存在
它也不应该在 PL/SQL Developer 中使用,除非在命令或 SQL 窗口中(通常不会用于 PL/SQL)。
您的代码在 PL/SQL Developer 版本 9 中适用于我。
【参考方案1】:
如果没有参数,我认为你不应该在函数中使用括号。
尝试替换这个:
FUNCTION FIND_MAX_QTY()
RETURN NUMBER IS
有了这个:
FUNCTION FIND_MAX_QTY
RETURN NUMBER IS
另外,您有一个名为 S_SNAME
的变量,但您正在打印 S_NAME
。
【讨论】:
以上是关于PLS-00103:遇到符号“/”的主要内容,如果未能解决你的问题,请参考以下文章
ORA-06550:第 13 行,第 4 列:PLS-00103:遇到“UPDATE” ORA-06550:第 15 行,第 3 列:PLS-00103:遇到符号“END”