Oracle:包编译完美但dbms_output上没有返回值

时间:2013-11-18 11:35:24

标签: database oracle stored-procedures plsql oracle-sqldeveloper

create or replace package emp_package
as
type emp_salary_cursor is ref cursor;
procedure emp_salary_procedure(salrange in number,emp_details out emp_salary_cursor);
procedure get_emp_salary;
end emp_package;

create or replace package body emp_package 
as
procedure emp_salary_procedure(salrange in number,emp_details out emp_salary_cursor)
is 
begin
open emp_details for select empno,ename,sal from emp where sal<salrange;
end emp_salary_procedure;

procedure get_emp_salary
is
emp_no emp.empno%type;
emp_name emp.ename%type;
salary emp.sal%type:=4000;
emp_details emp_package.emp_salary_cursor;
begin
emp_salary_procedure(salary,emp_details);
loop
fetch emp_details into emp_no,emp_name,salary;
dbms_output.put_line('sss' || emp_no || '---' || emp_name || '---' ||salary);
exit when emp_details%notfound;
end loop;
close emp_details;
end get_emp_salary;
end emp_package;

我已经编译了包和包体,没有错误,但我没有收到任何记录,甚至没有在dbms_output上打印sss。这是为什么 ?什么错了?请帮助。

0 个答案:

没有答案