在sql server中是如下代码:set @Rid= 1
set @TypeRid =(select top 1 RestType from #test order by id)
UPDATE #test
SET
@rid =CASE WHEN RestType=@TypeRid THEN @rid ELSE @rid+1 END,
@TypeRid=RestType,
TypeRid=@Rid请教oracle中如何写(存储过程中)
set @TypeRid =(select top 1 RestType from #test order by id)
UPDATE #test
SET
@rid =CASE WHEN RestType=@TypeRid THEN @rid ELSE @rid+1 END,
@TypeRid=RestType,
TypeRid=@Rid请教oracle中如何写(存储过程中)
as
vn_rid number(4) := 1;
vn_typerid varchar2(10) := 0;
cursor c_table is select RestType, rowid from #test;
begin
select RestType into vn_typerid from #test where rownum < 2 order by id;
dbms_output.put_line(vn_typerid);
for rec_c_table in c_table loop
if rec_c_table.RestType <> vn_typerid then
vn_rid := vn_rid + 1;
end if;
update #test a set a.TypeRid = vn_rid where a.rowid = rec_c_table.rowid;
end loop;
end;