我是这样用的:
13:30:15 jlanzpa817>DECLARE
13:31:02 2 TYPE NumTab IS TABLE OF tab.tname%TYPE;
13:31:02 3 TYPE NumTabty IS TABLE OF tab.TABTYPE%TYPE;
13:31:02 4 sals NumTab;
13:31:02 5 sals1 NumTabty;
13:31:02 6 BEGIN
13:31:02 7 SELECT tname,TABTYPE BULK COLLECT INTO sals,sals1 FROM tab WHERE ROWNUM <= 100;
13:31:02 8 dbms_output.put_line(sals(1));
13:31:02 9 dbms_output.put_line(sals1(2));
13:31:02 10 END;
13:31:02 11 /
A
TABLEPL/SQL 过程已成功完成。已用时间: 00: 00: 00.40
13:31:03 jlanzpa817>
13:30:15 jlanzpa817>DECLARE
13:31:02 2 TYPE NumTab IS TABLE OF tab.tname%TYPE;
13:31:02 3 TYPE NumTabty IS TABLE OF tab.TABTYPE%TYPE;
13:31:02 4 sals NumTab;
13:31:02 5 sals1 NumTabty;
13:31:02 6 BEGIN
13:31:02 7 SELECT tname,TABTYPE BULK COLLECT INTO sals,sals1 FROM tab WHERE ROWNUM <= 100;
13:31:02 8 dbms_output.put_line(sals(1));
13:31:02 9 dbms_output.put_line(sals1(2));
13:31:02 10 END;
13:31:02 11 /
A
TABLEPL/SQL 过程已成功完成。已用时间: 00: 00: 00.40
13:31:03 jlanzpa817>
execute immediate sql_str bulk collect into tab_id,tab_name;
我老觉得这句话有问题,呵呵,但不知在哪里
我以前也用过
EXECUTE IMMEDIATE query_str INTO lobloc USING v_id;
类似的语句。
我这里还没有8i,只有805,还没有办法帮你试,帮你up一下。
我对collect的用法一般用index table,不用nest table。
index table不用初始化
这是我的用法
……
TYPE tssn is TABLE of NUMBER(10)
INDEX BY BINARY_INTEGER;
TYPE tfname is TABLE of VARCHAR2(15)
INDEX BY BINARY_INTEGER;
TYPE tlname is TABLE of VARCHAR2(20)
INDEX BY BINARY_INTEGER; ……
PROCEDURE allperson
(ssn OUT tssn,
fname OUT tfname,
lname OUT tlname)
IS
CURSOR person_cur IS
SELECT ssn, fname, lname
FROM person; percount NUMBER DEFAULT 1;BEGIN
FOR singleperson IN person_cur
LOOP
ssn(percount) := singleperson.ssn;
fname(percount) := singleperson.fname;
lname(percount) := singleperson.lname;
percount := percount + 1;
END LOOP;
END;
sql_str:='select id,name bulk collect into tab_id,tab_name from
t_temp order by id desc';
execute immediate sql_str ;
execute immediate
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
这是sql server的做法,oracle不支持
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
这是sql server的做法,oracle不支持
谁说的?????
在8i中是支持的
是不是不能用:
execute immediate sql_str bulk collect into tab_id,tab_name;
这样的语句呢?
各位多多指点!