You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PL/SQL带参数自定义函数报错PLS-00103的原因及解决方法

PLS-00103错误原因及解决方法

错误原因

你将PL/SQL函数定义与调用该函数的SQL查询语句放在同一脚本中,但未使用正确的分隔符分隔两者。Oracle解析脚本时,会把后续的SELECT select_by_id(2) FROM DUAL;视为函数定义块的一部分,而函数的END;之后不允许出现SELECT语句,因此触发PLS-00103语法错误。

解决方法

在函数定义的END;之后添加斜杠/,作为PL/SQL块的结束标记,让Oracle先完成函数的创建,再执行后续的SQL调用语句。修改后的代码如下:

CREATE OR REPLACE FUNCTION select_by_id(id_in IN NUMBER) RETURN clients%ROWTYPE
AS
  result clients%ROWTYPE;
BEGIN
  SELECT * INTO result FROM clients WHERE client_id = id_in;
  RETURN result;
END;
/

SELECT select_by_id(2) FROM DUAL;

内容的提问来源于stack exchange,提问作者User656

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 22:05:27