以下のようなカーソルから値を動的に解決しようとしています。
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」が表示されますが、実際にはカーソルに値が必要です。
これを行う方法はありますか。
どんな助けでも大歓迎です。