在使用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
<<INNER_LOOP>>
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