易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle遍历结果集必须要用游标吗?


declare
v_str varchar2(500);
type red is record
(
v_id integer,
v_name varchar2(30)
);
re red;
begin
v_str := 'select id,name from a1 ';
execute immediate v_str into re;
for i in 1..re.count loop
dbms_output.put_line(i.v_id||''||i.v_name);
end loop;
end;



我这样写(re.count) 报错 报必须说明count 组件 。请问不通过游标能遍历这些记录集吗?
还有 只能用游标遍历集合吗? 还有什么其他的方法?
数组也可以

问题是,你的查询语句返回多条记录,into re,而re只是接收一条记录,所以报错。

你应该将re声明为red类型的数组

我试试看 谢谢!!

TYPE red_array IS TABLE OF red INDEX BY BINARY_INTEGER;
re red_array;
...

for i in 1..red_array.count loop
red_array(i).


引用
TYPE red_array IS TABLE OF red INDEX BY BINARY_INTEGER;
re red_array;
...

for i in 1..red_array.count loop
red_array(i).



正解,可以用type来做的。

我刚才看了 execute immediate into
into 字句仅仅在单行查询中使用,指定值是变量或记录。

可以参考这个~~
SQL code:

declare
type emp_type is table of emp%rowtype index by binary_i


相关问答:

oracle sql developer 查询显示中文乱码

环境:1.win2003server+oracle9i
2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1
3.oracle sql developer版本 1.5.5
现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。 ......

急寻Oracle ERP实施顾问

3-5人,工作地点上海浦东软件园,2-3年经验,英文流利,有意者请联系38954510-1355,15821699737,y.ming@live.cn
自己顶。。。

没有ORACLE ERP的经验,有用友和TIPTOP经验,英语说不好,看还是可以!
不知道有没有 ......

急问一个oracle字段设置的问题 - Oracle / 基础和管理

各大老师好,请教一个问题.
我设置了一个oracle字段,varchar(3000),然后插入一条数据长度才1000,就报错了.如:net.sf.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
Caused ......

求一条oracle多表查询的sql,求高手们不吝赐教~

table1:
uID    uName
1      小李 
2      小张

table2:
pID  uID  type
1    1    H1
2    ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号