Renata, PMFJI mas coloco uma obs : pode ter CERTEZA de que se o objeto que ficou inválido não referencia diretamente a coluna alterada, ALGUMA outra referência indireta tem SIM : ele talvez chama uma outra rotina PL/SQL que aí sim referencia a coluna, ou faz um SELECT * na tabela que possui a coluna, ou usa um TYPE ou um REF CURSOR que acessa a coluna, enfim, algum tipo de dependência MESMO que indireta tinha sim, blz ?? O que EU costumo fazer é simplesmente depois de ter feito DDLs é rodar um script que me LISTA os objetos que ficaram inválidos após o DDL e já mostra os compiles que tenho que fazer, tipo :
select 'alter '||decode(OBJECT_TYPE,'PACKAGE BODY','PACKAGE',OBJECT_TYPE)||' '||OWNER||'.'||OBJECT_NAME||' compile;' from ALL_OBJECTS where STATUS <> 'VALID' and OBJECT_TYPE <> 'SYNONYM' union ALL select 'create or replace public synonym '||OBJECT_NAME||' for '||OBJECT_NAME||';' from ALL_OBJECTS where STATUS <> 'VALID' and OBJECT_TYPE = 'SYNONYM' / select 'alter trigger '||OWNER||'.'||TRIGGER_NAME||' enable;' from ALL_TRIGGERS where STATUS <> 'ENABLED' / Muitas vezes essa cadeia de dependências (tipo, proc A chama proc B que usa TYPE T que aí sim referencia a coluna, digamos) pode FACILMENTE ficar bem complexa de acompanhar, então eu nem perco tempo e já compilo tudo que está marcado como INVÁLIDO após meu DDL, okdoc ?? []s Chiappa