在使用PL/SQL的时候,有时候会有这样的需求,执行动态的SQL,你只需要看循环一次的结果,样例如下:
DECLARE
V_POWER_GRID_FLAG NUMBER; TYPE BUREAU_CODE_T IS TABLE OF VARCHAR2(10); V_BUREAU_CODE_T BUREAU_CODE_T := BUREAU_CODE_T('0101', '0102', '0103'); BEGIN FOR V_POWER_GRID_FLAG IN 1 .. 2 LOOP FOR I IN V_BUREAU_CODE_T.FIRST .. V_BUREAU_CODE_T.LAST LOOP dbms_output.put_line(V_BUREAU_CODE_T(i)||'-------->'||V_POWER_GRID_FLAG); END LOOP; END LOOP; END; 0101-------->1 0102-------->1 0103-------->1 0101-------->2 0102-------->2 0103-------->2 DECLARE V_POWER_GRID_FLAG NUMBER; TYPE BUREAU_CODE_T IS TABLE OF VARCHAR2(10); V_BUREAU_CODE_T BUREAU_CODE_T := BUREAU_CODE_T('0101', '0102', '0103'); BEGIN <> FOR V_POWER_GRID_FLAG IN 1 .. 2 LOOP FOR I IN V_BUREAU_CODE_T.FIRST .. V_BUREAU_CODE_T.LAST LOOP dbms_output.put_line(V_BUREAU_CODE_T(i)||'-------->'||V_POWER_GRID_FLAG); END LOOP; EXIT INNER_LOOP WHEN(1 = 1); END LOOP; END; 0101-------->1 0102-------->1 0103-------->1