不能用游标(CURSOR),因为数据一旦比较多,Result.Next的时候,就花费比较多的时间了。
所以想在存储过程中直接返回一个二维数组。比如:
原始的SQL为select A,B,C from TestTBL;查到N条数据,想把结果存储到一个二维数组 TArray里面,数组格式为
TArray(0)(0) = A
TArray(0)(1) = B
TArray(0)(2) = C
TArray(1)(0) = A
TArray(1)(1) = B
TArray(1)(2) = C
...
TArray(N-1)(0) = A
所以想在存储过程中直接返回一个二维数组。比如:
原始的SQL为select A,B,C from TestTBL;查到N条数据,想把结果存储到一个二维数组 TArray里面,数组格式为
TArray(0)(0) = A
TArray(0)(1) = B
TArray(0)(2) = C
TArray(1)(0) = A
TArray(1)(1) = B
TArray(1)(2) = C
...
TArray(N-1)(0) = A
解决方案 »
- 使用expdp导出时ORA-29701: 无法连接到簇管理器,请高手指点
- 关于oracle中能连接的最大用户数的问题
- oracle 10g入门手册下好了,全英文的,怎么看?
- pro c 在ora10g的$ORACLE_HOME/lib中找不到 -lwtc9
- 求救!如何oracle数据中的>替换成>?
- Oracle一安装就蓝屏是什么问题啊?
- ORACLE数据库里有没有象SQL SERVER这样的系统表Sysobjects和Syscolumns? 请教各位高手,谢谢.
- redhat8i下怎样安装oracle9i
- 一个棘手的SQL语句
- 求Oracle 11.2.0.4安装补丁包patch 19692824 ,凝思系统总报错
- 数字类型怎么转换后字符串后,前面自动填‘0’?
- sql的格式问题
CREATE OR REPLACE TYPE testtbl_table_type IS TABLE OF testtbl%ROWTYPE;
/
declare
testtbl_table testtbl_table_type:=testtbl_table_type();
begin
for c_testtbl in (select A,B,C from TestTBL) loop
testtbl_table.extend;
testtbl_table(testtbl_table.count).a:=c_testtbl.a;
testtbl_table(testtbl_table.count).b:=c_testtbl.b;
testtbl_table(testtbl_table.count).c:=c_testtbl.c;
end loop;
end;