在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中如何写(存储过程中)
解决方案 »
- 非常奇怪的问题。plsql匿名块调试在8i上看不到add debug information。9i,10g上能看到。酬劳(RMB 10元)
- [Oracle/基础和管理]请问OCIStmtPrepare中的语句长度要不要加上“\0”呢?
- 无法创建存贮函数
- 求助一个定时执行oracle存储过程的问题,请大侠帮忙
- 请高手帮我解决个问题,快撑不下去了(100)分
- Oracle Enterprise Manager Console 建用户后有问题。
- 如何获得当前连接oracle的session id
- 高手请看!字符集问题!
- [求助】使用Oracle的存储过程动态建立数据库表
- myeclipse用oci方式连接oracle11g测试失败,怎么解决?
- 导的同样的库,连本地的处理程序速度提高了10倍?!
- 关于删除 asm 磁盘组中的一块磁盘 或 磁盘组
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;