PL / SQL: моя переменная хоста ничего не выводит на экран

#oracle #plsql #sqlplus

#Oracle #plsql #sqlplus

Вопрос:

Мой код:

 create or replace procedure p9(sal in out emp_ast.salary%type) is
begin
  if sal < 3000 then
    sal := sal * 1.2;
  elsif sal between 3000 and 7000 then
    sal := sal * 1.15;
  elsif sal > 7000 then
    sal := sal * 1.1;
  elsif sal = null then
    sal := 1000;
  end if;
end p9;
/

set serveroutput on

variable g_sal number
ACCEPT g_sal number PROMPT 'Enter salary: ' 
begin
  :g_sal := amp;g_sal;
  p9(:g_sal);
  dbms_output.put_line('Salariu ' || :g_sal);
end;
/
 

Моя переменная g_sal ничего не выводит на экран. Я попытался присвоить ей значения типа 1000 или 2000. Он работает с печатью вне блока, но значение не изменяется функцией. I остается прежним.

Комментарии:

1. Вам просто нужно исправить нулевое сравнение . Используйте sal IS null вместо sal = null

2. Я исправил это, но это все то же самое.

3. вы действительно уверены, что выдали set serveroutput on

4. ДА. Я уверен.