Database/ORACLE

INVALID OBJECT 컴파일 하는 방법

하이주니 2009. 3. 8. 21:02
반응형

** 질문

안녕하세요.

table 을 alter 하거나 하면 해당 table 을 사용하고 있는 procedure 가

invalid 가 되잖아요..

그래서 보통 alter 후에 toad 에서 compile invalid procedure 또는 compile all procedure

버튼을 눌러서 컴파일을 했는데

위의 두가지중에 아무거나 라도 혹시 pl/sql 에서 실행할수있는 쿼리좀 알수있을까요?

뒤져본다고 뒤져봤는데 도통 찾을수가 없어서요.

부탁드릴께요.

 

** 답변

set PageSize 100
SPOOL RECOM.sql
      SELECT distinct 'ALTER PACKAGE ' || OBJECT_NAME || ' COMPILE;'
        FROM USER_OBJECTS
       WHERE STATUS      = 'INVALID' and
             Object_Type in ( 'PACKAGE BODY' , 'PACKAGE')
union all
      SELECT  distinct 'ALTER ' || Object_Type || ' ' || OBJECT_NAME || ' COMPILE;'
        FROM USER_OBJECTS
       WHERE STATUS      = 'INVALID' and
             Object_Type in ( 'PROCEDURE', 'FUNCTION', 'VIEW');   
SPOOL OFF
@RECOM.sql

반응형