如何排查GridDB中的PLS-00103文件结束符错误?
PLS-00103错误的解决方法
错误原因分析
你遇到的PLS-00103错误,提示"Encountered the symbol 'end-of-file' when expecting one of the following",主要由两个问题导致:
- 匿名块中使用的
v_name变量未提前声明,PL/SQL要求所有变量必须先声明才能使用。 - 在SQL*Plus等执行环境中,匿名块需要通过
/来触发执行,原代码的匿名块结尾缺少该标识,导致工具认为代码未完成,直到遇到文件结束时抛出错误。
修正后的代码
CREATE OR REPLACE PROCEDURE get_employee_name (p_id IN NUMBER, p_name OUT VARCHAR) AS BEGIN SELECT name INTO p_name FROM employees WHERE id = p_id; END; / DECLARE v_name VARCHAR(100); -- 可根据实际字段长度调整 BEGIN get_employee_name(1, v_name); DBMS_OUTPUT.PUT_LINE('Employee name: ' || v_name); END; /
关键修改点
- 新增
DECLARE部分声明v_name变量,指定合适的数据类型和长度。 - 在匿名块的
END;后添加/,告知执行环境代码块结束,触发执行。
内容的提问来源于stack exchange,提问作者Hajar S
相关产品推荐
相关产品推荐

