#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. ДА. Я уверен.