PL/SQL中如何声明标识符

来源:百度知道 编辑:UC知道 时间:2024/06/20 05:04:13
小弟最近刚学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】查看这个包中都有什么方法。

---
以上,希望对你有所帮助。

DBMS_OUTPUT_LINE 这个用错了,
是dbms_output.put_line()