猿问

如果我要写一个function,指定某个id然后对其对应的salary乘以1.5,请问怎么实现?

假设一张表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;

回首忆惘然
浏览 141回答 1
1回答

qq_笑_17

create or replace function f_sal(v_id int)return numberasv_j number;beginupdate emp set salary=1.5*salary where id=v_id;v_j := SQL%ROWCOUNT;commit;return v_j;end;v_j:=v_emp; 这句话什么意思,没见到 v_emp 变量啊
随时随地看视频慕课网APP
我要回答