create or replace procedure p_sales
as
cursor t_sor is
select *
from (select * from view_b_sales
order by b_o_t_price desc) where rownum<4;
n number:=0;
begin
for v_sor in t_sor loop
n:=n+1;
update businessman set b_msalary=b_msalary+10 where b_id=v_sor.sales_id;
if n=1 then
update businessman set b_msalary=b_msalary+10 where b_id=v_sor.sales_id;
end if;
end loop;
end;
/
as
cursor t_sor is
select *
from (select * from view_b_sales
order by b_o_t_price desc) where rownum<4;
n number:=0;
begin
for v_sor in t_sor loop
n:=n+1;
update businessman set b_msalary=b_msalary+10 where b_id=v_sor.sales_id;
if n=1 then
update businessman set b_msalary=b_msalary+10 where b_id=v_sor.sales_id;
end if;
end loop;
end;
/
到底如何用隐式游标,隐式游标是不是只能返回一行记录?还有是不是“显示游标指到最后一行记录的时候,才能激发隐式游标“?
还有,update businessman set b_msalary=b_msalary+10 where b_id=v_sor.sales_id;
这个语句中的v_sor.sales_id是什么意思?v_sor 只是一个循环变量,这样写我觉得不对。
所以,请问一下这个过程procedure具体怎么编?
谢谢!
v_sor确是一个变量(对象实例),你可以参考游标方面书籍,有详细介绍.
v_sor.sales_id是引用sales_id它的值.