再コンパイル用のSQL文を生成するSQLです。
サンプル
例)再コンパイル用のSQL文を生成する
1 2 3 |
SELECT 'ALTER PROCEDURE ' || OBJECT_NAME || ' COMPILE;' FROM user_objects WHERE object_type = 'PROCEDURE'; |
1 2 3 |
SELECT 'ALTER FUNCTION ' || OBJECT_NAME || ' COMPILE;' FROM user_objects WHERE object_type = 'FUNCTION'; |
1 2 3 |
SELECT 'ALTER SYNONYM ' || OBJECT_NAME || ' COMPILE;' FROM user_objects WHERE object_type = 'SYNONYM'; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SELECT 'ALTER PACKAGE ' || OBJECT_NAME || ' COMPILE;' FROM user_objects WHERE object_type = 'PACKAGE' --HEADとBODYを別々にコンパイルしたい場合はこちら --HEAD用 SELECT 'ALTER PACKAGE ' || OBJECT_NAME || ' COMPILE PACKAGE;' FROM user_objects WHERE object_type = 'PACKAGE' --BODY用 SELECT 'ALTER PACKAGE ' || OBJECT_NAME || ' COMPILE BODY;' FROM user_objects WHERE object_type = 'PACKAGE' |
1 2 3 |
SELECT 'ALTER VIEW ' || OBJECT_NAME || ' COMPILE;' FROM user_objects WHERE object_type = 'VIEW'; |
1 2 3 |
SELECT 'ALTER TRIGGER ' || OBJECT_NAME || ' COMPILE;' FROM all_objects WHERE object_type = 'TRIGGER'; |
解説
- 上記SQLのSELECT結果をコピーして、SQL*Plusに貼り付けて実行すれば再コンパイルが実行されます。