create or replace procedure add_sal as begin update emp set sal=sal+(case when sal>2000 then 100 when sal>1000 and sal<=2000 then 200 else 250 end ) ; commit; end;
你这个直接查询即可,不需要存储过程。select id, case when sal > 2000 then sal + 100 when sal > 1000 and sal <= 2000 then sal + 200 else sal + 250 end from emp
如果是更新则: update emp set sal = ( case when sal > 2000 then sal + 100 when sal > 1000 and sal <= 2000 then sal + 200 else sal + 250 end )
------sinpoal create or replace procedure upd_sal_emp is begin update emp set sal=sal+(case when sal>2000 then 100 when sal >1000 and sal<2000 then 200 else 250 end) end upd_sal_emp
exec upd_sal_emp ---可直接用查询语句 select id ,sal+(case when sal>2000 then 100 when sal >1000 and sal<2000 then 200 else 250 end) sal from emp
--可以直接来就可以,update emp1 set sal=(case when sal>=2000 then sal+100 when sal>=1000 and sal<2000 then sal+200 else sal+250 end)
create or replace procedure pro1 as begin update emp set sale=sale+(case when sale>2000 then 100 when sale>1000 and sale<=2000 then 200 else 250 end) end
as
begin
update emp set
sal=sal+(case when sal>2000 then 100
when sal>1000 and sal<=2000 then 200
else 250 end )
;
commit;
end;
case when sal > 2000 then sal + 100
when sal > 1000 and sal <= 2000 then sal + 200
else sal + 250
end
from emp
update emp
set sal =
(
case when sal > 2000 then sal + 100
when sal > 1000 and sal <= 2000 then sal + 200
else sal + 250
end
)
------sinpoal
create or replace procedure upd_sal_emp
is
begin
update emp set sal=sal+(case when sal>2000 then 100
when sal >1000 and sal<2000 then 200 else 250 end)
end upd_sal_emp
exec upd_sal_emp ---可直接用查询语句
select id ,sal+(case when sal>2000 then 100
when sal >1000 and sal<2000 then 200 else 250 end) sal
from emp
when sal>=1000 and sal<2000 then sal+200
else sal+250 end)
create or replace procedure pro1
as
begin
update emp set sale=sale+(case when sale>2000 then 100
when sale>1000 and sale<=2000 then 200 else 250
end)
end