0
我想动态解析光标的值,如下所示。动态解析到参考光标
create or replace
PROCEDURE test(
PI_JANUS_ID IN VARCHAR2,
PO_dummy out Types.CursorType
)AS
PO_ACTUALCUROSR Types.CursorType;
cur_row tab%ROWTYPE;
val1 varchar2(100);
val2 varchar2(200);
BEGIN
open PO_ACTUALCUROSR for select * from tab;
LOOP
FETCH PO_ACTUALCUROSR into cur_row;
EXIT WHEN PO_ACTUALCUROSR%NOTFOUND;
val1 := 'TNAME';
SELECT 'cur_row.'||val1 INTO val2 FROM DUAL;
dbms_output.put_line('Column Value ' || val2);
END LOOP ;
CLOSE PO_ACTUALCUROSR;
END;
这里如果你看到我必须调用cur_row。获取值,但在这里我有一个变量(val1)的列名。那么我将如何从光标处取得值。
如果我执行上述块,我会看到“cur_row.TNAME”,但我实际上需要光标中的值。
有没有办法做到这一点。
任何帮助,非常感谢。
我真的不明白这一点,因为这两个val1和val2的是你的过程中声明的局部变量(有甚至没有参数)那么,为什么它们不能被直接列入“SELECT * FROM选项卡”查询你的光标(PO_ACTUALCUROSR)在哪里运行? – dariyoosh
这只是我给出的一个例子,我的实际问题是我有一个游标,但是我会知道在运行时从光标中选择哪个列,只能从不同的表中选择列名。 – lsiva
另外要添加从我得到的光标的源表有550列。 – lsiva