PL/SQL中如何声明标识符

小弟最近刚学Oracle,用的oracle10g,按照书本上敲一个存储过程的时候,出错了.我是在scott用户下写的,复制过来供高手看看那里错了,在执行的时候总是出错:

CREATE OR REPLACE PROCEDURE "SCOTT"."FIND_EMP" (emp_no number)
AS
empname varchar2(20);

begin
select ename into empname from emp where empno = emp_no;
DBMS_OUTPUT_LINE('雇员姓名是'|| empname);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_Output.put_line('雇员编号未找到');
end find_emp;
/

执行:

SQL> SET SERVEROUT PUT ON
SQL> EXECUTE find_emp(7900);

我用show errors查看了一下出错的原因,提示如下:

LINE/COL ERROR
-------- --------------------------------------------
7/2 PLS-00201: 必须声明标识符 'DBMS_OUTPUT_LINE'
7/2 PL/SQL: Statement ignored

好像是要声明DBMS标识符,怎么声明啊?执行时候的:SET SERVEROUT PUT ON

不是吗?那么,这句是什么?

第一:是【SET SERVEROUTPUT ON】,【SERVEROUTPUT】是一个词,中间没有空格。

第二:是【dbms_output.put_line()】,其中【dbms_output】是包名,【put_line】是方法名,具体可以在sqlplus中使用【desc dbms_output】查看这个包中都有什么方法。

---
以上,希望对你有所帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-07
DBMS_OUTPUT_LINE 这个用错了,
是dbms_output.put_line()本回答被提问者和网友采纳
相似回答