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

PLS-00103错误求助:执行PL/SQL存储过程时遇EXECUTE符号问题

PL/SQL错误排查与解决

错误原因分析

  • 语句结构错误:CREATE OR REPLACE PROCEDURE 是PL/SQL存储过程定义语句,EXECUTE 是SQL*Plus专属的执行命令,两者不能放在同一段代码中执行。PL/SQL编译器会将EXECUTE识别为存储过程定义的一部分,触发PLS-00103语法错误。
  • 参数类型不匹配:存储过程中KAKSHA参数定义为VARCHAR2,但执行时传入数值10,虽Oracle支持隐式转换,但显式传入字符串更规范。
  • 输出格式问题:原代码字符串拼接未添加空格,会导致输出无间隔,不符合预期格式。

修正后的代码与执行步骤

1. 创建存储过程

SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE WELCOME(SURNAME IN VARCHAR2,KAKSHA IN VARCHAR2)
IS
BEGIN
    dbms_output.put_line('SURNAME IS ' || SURNAME || ' KAKSHA IS ' || KAKSHA);
END;
/

注意:用/结束PL/SQL块定义,这是Oracle中完成存储过程/函数定义的标准方式。

2. 执行存储过程

EXECUTE WELCOME('GHAGARE', '10');
-- 或使用简写:
EXEC WELCOME('GHAGARE', '10');

预期输出

SURNAME IS GHAGARE KAKSHA IS 10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 07:53:13