假设一张表emp,字段有id,salary
如果我要写一个function,指定某个id 然后对其对应的salary乘以1.5
1.请问下该怎么写。(不用游标的话)
2.话说如果用游标的话,好像有个问题,如果把commit放到end loop;前面会报错,而放到外面就不会,这是为什么呢。 语句如下:
create or replace function f_sal(v_id int)
return number
as
cursor mycur is select salary from emp;
v_sal emp.salary%type;
v_j number;
begin
for mycur in v_sal loop
update emp set salary=1.5*salary where id=v_id;
v_j:=v_emp;
end loop;
commit;
return v_j;
end;
qq_笑_17
相关分类