1
我正在处理将返回两个游标的包。一个游标是具有数字主键的项目的列表。另一个光标与项目在Proc中使用Oracle Cursor并返回它?
到目前为止的代码相关联的文件列表:
- 获得在桌子上缺少关键字的错误:
procedure get_items_with_files( o_results out sys_refcursor, o_files out sys_refcursor ) is begin begin open o_results for select item_id, item_name from items; end; begin open o_files for select item_id item_file_name from item_files if where if.item_id in (select item_id from TABLE(CAST(o_results))); end; end get_items_with_files;
我遇到的问题与该地区(cast(cursor))部分
- 我可以在代码中访问游标吗?还是需要将其复制到内部变量?我试图创建一个sys_refcursor类型的变量和一个“set v_cursor:= o_results”,但得到一个丢失或无效的选项错误。
谢谢。威尔正在等待一个结果,我重新分析了代码。虽然我的实际游标比例子要复杂得多,但我意识到我可以在我所关心的表格所需的字段上进行嵌套选择。 – SpaceCowboy74 2012-03-01 20:50:58
哦,对于多个游标,这是因为我无法为第一个游标中的每个项目返回多行。这是一个/一个要求。我可能会做一些SQLfu并使file_name列表以逗号分隔,但我认为最终用户可以长期使用两个数据表数据集。 (每个项目有多个文件) – SpaceCowboy74 2012-03-01 20:53:35