0

我有一项任务要解决。

创建一个程序,列出工资在输入值的 ± 1000 范围内的所有员工(任何变量)。报告将列出:employee_id、first_name、last_name、hire_date 和salary。

如果没有员工的薪水在输入值的范围内,则处理这种情况。

调用值 10000 的过程。

我写了这个,过程被编译,当我调用它时,它只是打印 PL/SQL 过程成功完成。但我的数据库中没有数据。

set serveroutput on;
create or replace procedure tisicka
  (p_salary in employees.salary%type)
is 
begin
  for cur_r in 
    (select employee_id, first_name, last_name, hire_date, salary 
     from employees where salary between p_salary+1000 and p_salary-1000
    )
  loop
    dbms_output.put_line(cur_r.employee_id ||', '|| cur_r.first_name ||', '|| cur_r.last_name ||', '||
      cur_r.hire_date ||', '|| cur_r.salary);
  end loop;
end tisicka;

exec tisicka(10000);

你能帮我么?

谢谢你。

4

1 回答 1

1

您需要将 BETWEEN 子句从

between p_salary+1000 and p_salary-1000

between p_salary-1000 and p_salary+1000
于 2021-06-01T18:27:26.660 回答