我有一個迭代表的遊標。每一行都被插入到與遊標行相同的類型中。ORACLE中的動態字段PL/SQL
CURSOR lc_lines
IS
SELECT tlc1, tlc2, tlc3
FROM table_x
ORDER BY tlc1;
TYPE table_lines IS TABLE OF lc_lines%ROWTYPE
INDEX BY PLS_INTEGER;
i_table_lines table_lines;
我需要動態訪問類型中的列。類似這樣的:
LOOP
FETCH lc_lines
BULK COLLECT INTO i_table_lines
LIMIT p_i_limit;
--e ai vamos nos :)
FOR i_idx IN 1 .. i_table_lines.COUNT
LOOP
varx := i_table_lines (i_idx).tlc||'2';
這可能嗎?
在此先感謝
答案很簡單* *沒有**。在任何(至少大部分)高級語言中,變量名不允許是動態的。只有內存分配是。 – 2015-02-10 16:26:31
Fala Andre(brazuca :-) - 我不明白 - 因爲你事先知道你的光標字段(tlc1,tlc2和tlc3 - 這些都是會在循環中提供給你的 - 動態數據會做什麼你需要/你指的是什麼? – Veverke 2015-02-10 16:27:29
@ Maheswaran Ravisanka:我不知道在哪種情況下你是基於你的答案,但我認爲它是不對的,在C#中,一種高級語言(並且被廣泛接受一個),你可以使用類型爲「dynamic」的變量(沒有編譯/類型檢查任何東西,比如javascript),我們不要忘記我們在這裏談論的是PL/SQL,最終是DB操作語言。 – Veverke 2015-02-10 16:29:40