我的PL / SQL代码有问题
我需要返回Max(Salary)
我的功能是:
create or replace
FUNCTION largest_salary
(j_id EMPLOYEES.JOB_ID%TYPE)
return EMPLOYEES.SALARY%TYPE
IS
sal EMPLOYEES.SALARY%TYPE;
begin
select max(salary)
into sal
from employees
where job_id = j_id;
return sal;
end largest_salary;
当我运行此查询时:
set serveroutput out
Begin
dbms_output.put_line(largest_salary('SA_REP'));
End;
它没有显示任何东西,任何人都可以帮助我获得最高(工资)?
注意:我认为它会返回多个值,但我不知道如何解决它
答案 0 :(得分:0)
您可以使用:
SELECT largest_salary('SA_REP')
FROM dual;
它不是打印,但你会得到网格结果。
答案 1 :(得分:0)
您应该使用set serveroutput on
代替
set serveroutput out
答案 2 :(得分:0)
你必须聚合查询结果,然后一切都会好的
select max(salary)
into sal
from employees
where job_id = j_id;
group by job_id;
问候