for loop って空白をひとつ入れていただきたいです。
for loop 参考 シンプルに一部を削って
PL/SQL
1DECLARE
2 L_COUNTS NUMBER ;
3BEGIN
4 FOR REC_TA IN
5 (
6 SELECT
7 TA.TABLE_NAME
8 , 'SELECT /*+ INDEX_FFS(TA) PARALLEL(DEFAULT) */ COUNT(*) FROM "' || TA.TABLE_NAME || '" TA' AS SQL_STRING
9 , TA.IOT_TYPE
10 FROM USER_TABLES TA
11 WHERE -- 条件を記述できます。
12 TA.DROPPED = 'NO' -- except trash box, since Oracle10.1.0
13 ORDER BY
14 TA.TABLE_NAME
15 ) LOOP
16 DBMS_OUTPUT.PUT(RPAD(REC_TA.TABLE_NAME, 31)) ;
17 -- ↓に条件を記述できます。
18 IF REC_TA.IOT_TYPE IS NULL THEN
19 EXECUTE IMMEDIATE REC_TA.SQL_STRING INTO L_COUNTS ;
20 DBMS_OUTPUT.PUT_LINE(TO_CHAR(L_COUNTS, '999,999,999,999,990')) ;
21 ELSE
22 DBMS_OUTPUT.PUT_LINE('IOT_TYPE:' || REC_TA.IOT_TYPE || ' index composition table') ;
23 END IF ;
24 END LOOP ;
25END ;
26/
何をしたいのかもっと具体的に書かれた方が適切なコメントが付くかと。
質問に PL/SQL タグも追加されては?