使用存储过程执行PL/SQL代码报错:PLS-00201标识符未声明
解决PL/SQL的PLS-00201错误
兄弟,你碰到的这个PLS-00201错误其实是俩小坑导致的,咱一个个掰扯清楚:
1. 拼写错误(核心问题)
你代码里写的DKMS_OUTPUT.PUT_LINE是拼写失误!Oracle里负责控制台输出的内置包是**DBMS_OUTPUT**,不是DKMS_OUTPUT——多打了个K,编译器自然找不到这个没声明的标识符啦。
2. 执行顺序搞反了
你先写了调用存储过程的匿名块,然后才创建p_sumar存储过程。这就像你想拿一个还没做出来的工具干活,肯定行不通,得先把存储过程创建好,再去调用它。
修正后的完整代码
SET SERVEROUTPUT ON; SET VERIFY OFF; -- 先创建存储过程 CREATE OR REPLACE PROCEDURE p_sumar (numero1 NUMBER, numero2 NUMBER) IS resultado NUMBER; BEGIN resultado := numero1 + numero2; -- 修正拼写:DBMS_OUTPUT DBMS_OUTPUT.PUT_LINE('La suma es: ' || resultado); END p_sumar; / -- 再调用存储过程 BEGIN p_sumar(5,4); p_sumar(8,9); END; /
执行后会看到的正确输出
La suma es: 9 La suma es: 17
内容的提问来源于stack exchange,提问作者Pedro R
相关产品推荐
相关产品推荐

