这是我需要做的......我有一个简单的存储过程,定义如下......
TYPE p_CURSOR IS REF CURSOR;
CREATE PROCEDURE getAll_TableA(p_items OUT p_CURSOR) AS
BEGIN
OPEN p_items FOR SELECT * FROM TableA;
END;
现在我有另一个存储过程
CREATE PROCEDURE reorderCursorColumns_TableA(i_items IN p_CURSOR, p_items OUT p_CURSOR) AS
BEGIN
/*
DO SOMETHING LIKE THIS
*/
OPEN p_items FOR SELECT col5, col3, col2, col4, col1 FROM i_items;
END;
这可能吗?
基本上,给定一个游标,我可以从中选择重新排序列吗?
答案 0 :(得分:1)
您无法将光标转换为表格。您需要编写一个表函数,然后用以下内容查询:
select x, y, z
from table(yourfunction(i_items));
该函数将返回一个表(集合)。您需要定义符合您要求的集合类型。