不能用游标(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
解决方案 »
- PL/SQL by example 看完小结下
- 求SQL~
- 过于rac数据库服务器修改密码
- 关于oracle导入时,表空间大小控制的问题?
- 如何查询sqlserver中的数据然后更新oracle数据
- 用exp和imp导出导入图象导入不成功
- 2个小问题,先来先得,解决就给!!!
- 我登陆 Oracle Management server 时 总是出错:管理员是:sysman,口令是:oemtemp,Oracle Management server
- 遇到了一个难题,百思不得其解 ORA-01453错误
- 50分求助:连接oracle的javabean中用stmt = conn.createStatement();没问题。用stmt = conn.createStatement(java.sql.ResultSet.TYPE_SC
- 数字类型怎么转换后字符串后,前面自动填‘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;