想用循环还遍历一组无规律的数据,如:
for var in ( 45,23,1544,666,48,24) loop
--do something
end loop; -----显然这种方法有问题。我知道可以将这些无规律数据写到一张临时表里,然后select出来,但没有权限建表呢???
请问各位大神,有没有其它方法?
for var in ( 45,23,1544,666,48,24) loop
--do something
end loop; -----显然这种方法有问题。我知道可以将这些无规律数据写到一张临时表里,然后select出来,但没有权限建表呢???
请问各位大神,有没有其它方法?
解决方案 »
- 【100分】如何把查询出来的结果存到某个表中?
- 我要将一个字符串里的空格,回车,tab都去掉,可以用什么函数?
- 为什么我的oracle 10g 不能启动OracleDBConsoleorcl服务
- oracle 执行过程时软件发生错误,把原来统计的数据都被删除了。???怎么回事?
- 请教oracle怎样在DOS命令下,删除指定的数据库!
- 菜鸟问题
- oracle与informix存储过程捕捉异常区别!
- 这个GROUP BY 语句怎样写??
- 高分求救:我用sqlplus 连接conn system/manager@yannan 可以连上新建的数据库,但用pl/sql developer 却连不上,导致我无法建立资源库
- WIN864位系统下安装ORACLE11G 出错,求帮助
- 创建同义词为啥要加个PUBLIC
- 达人们,帮我优化一下语句,能不能3分钟查出结果,不胜感激!!
aaa item_tab ;
cursor c is
select column_value
from table(aaa);--begin
aaa.extend;
aaa(aaa.count) := 45;
.
.
.for var in c loop
--do something
end loop;
你直接用数组不行吗,循环数组呗,为什么非要select出来?
--Oracle 10g:begin
for var in (
with tab as(
select '45,23,1544,666,48,24' num from dual
)
select regexp_substr(num,'[^,]+',1,level) num from tab
connect by
level<=length(num)-length(replace(num,',',''))+1
)
loop
--do something
dbms_output.put_line(var.num) ;
end loop;
end;
PL/SQL block, executed in 0 sec.
45
23
1544
666
48
24
Total execution time 0.016 sec.