浏览 2035 次
锁定老帖子 主题:oracle中嵌套表做为输出参数处理方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-11
最后修改:2011-06-22
如下: CREATE OR REPLACE TYPE OBJ AS OBJECT( ID NUMBER, NAME VARCHAR2(10) ); CREATE OR REPLACE TYPE NESTED_TABLE_TYP AS TABLE OF OBJ; --在过程中如下: record OBJ; records NESTED_TABLE_TYP; CURSOR my_cursor IS SELECT OBJ(ID,NAME) --SELECT的时候必须调用初始化函数把每行数据变成对象 FROM TABLE1; BEGIN OPEN my_cursor; FETCH my_cursor BULK COLLECT records; --这样是可以的。 --然后对records进行一系列操作 --返回的时候,就是这样的 OPEN my_cursor FOR SELECT * FROM TABLE(CAST(records AS NESTED_TABLE_TYP)); END; 但如果嵌套表是在过程中定义的,如下: TYPE NESTED_TABLE_TYP IS TABLE OF TABLE_1%ROWTYPE; record TABLE_1%ROWTYPE; records NESTED_TABLE_TYP; BEGIN ---一系列操作后,得出records,这时,records是无法使用表函数的,所以得出的嵌套表无法做为结果集输出。 END; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |