FOR循环中的Oracle PL / SQL EXECUTE IMMEDIATE

时间:2015-12-17 11:57:41

标签: oracle stored-procedures plsql

我想做以下事情。

我需要一个循环来处理动态表中的所有ID,

FOR ID_ROW IN (EXECUTE IMMEDIATE 'SELECT ID FROM ' || SRC_TABLE) LOOP
    -- some SP calling with ID_ROW.ID
END LOOP;

它不起作用,我怎么能让它运行?

或者,如果以下工作,那么我也可以找到解决方案,

EXECUTE IMMEDIATE 'SELECT ID FROM ' || SRC_TABLE INTO ID_ROW

ID_ROW的类型为type CUSTOM_ARRAY is table of VARCHAR2(64);

1 个答案:

答案 0 :(得分:1)

  

如果要提取集合,请尝试此操作。

DECLARE
TYPE num_tab IS TABLE OF NUMBER;
num num_tab;
BEGIN
EXECUTE IMMEDIATE ' SELECT NUM  FROM NUMBER_TAB 'BULK COLLECT INTO NUM;
END;