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