André, obrigada pelos esclarecimentos!

 

Então entendo que realmente posso invalidar objetos em qq um dos dois comandos. 

 

Pergunto, porque ao incluir um novo campo, em um tabela já existente (este novo 
campo, ainda não é referenciado em nenhum objeto de banco package, procedure, 
function, trigger, etc....), invalidaram-se alguns objetos que utilizam a 
tabela, mesmo o campo não sendo referenciado, e fiquei na dúvida, porque já fiz 
outras inclusões de campos novos onde isso não aconteceu, por isso a dúvida. 

 

Muito Obrigada!

Att, 

 

Renata

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle_br@yahoogrupos.com.br] 
Enviada em: terça-feira, 3 de dezembro de 2019 09:06
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Dúvida sobre ALTER TABLE (ADD e MODIFY) - Invalidação 
de Objetos de Banco!

 

  

No cado 1:

 

Ao incluir um campo novo, sua Packages não será inviabilizada, continuará sendo 
executada normalmente, porém se houver dentro desta Packages um insert na 
tabela, e a coluna nova for not null um erro será apresentado. 

 

No cado 2:

 

Há várias possibilidades, depende da alteração aplicada na coluna.

 

Um exemplo é o tipo de dado, caso haja uma function que referencie está coluna 
que outrora era de outro tipo por exemplo, um erro deve ocorrer.

 

Mas caso está coluna seja um strings de 10 e tenha sido aumentado para um 
string de 20 e não haja nada que provoque o erro, aí não dará erro.

 

Logo, no segundo caso, despendera da modificação executada.

 

Enfim, nos dois casos há possibilidade de erro, conforme exemplificado acima. 

 

Enviado do meu iPhone





Em 3 de dez de 2019, à(s) 08:49, 'Renata' rpoliveira....@gmail.com 
<mailto:rpoliveira....@gmail.com>  [oracle_br] <oracle_br@yahoogrupos.com.br 
<mailto:oracle_br@yahoogrupos.com.br> > escreveu:

   

Pessoal, 

Bom dia!

 

Podem me tirar uma dúvida: à inclusão de uma nova coluna em uma tabela já 
existente, invalida objetos de banco? 

Situação 1:

Vamos supor que eu tenha uma tabela, que é utilizada em Packages, Procedures, 
Triggers, etc....e com o comando ALTER TABLE (ADD) faço a inclusão de um novo 
campo, esses objetos invalidam? 

 

Situação 2:

Tenho uma tabela, que é utilizada em Packages, Procedures, Triggers, etc....e 
com o comando ALTER_TABLE (MODIFY) faço a alteração de um campo já existente, 
entendo que neste caso eu vá invalidar objetos porquê essa coluna alterada já 
está sendo utilizada em outros objetos. 

 

Está correto esse posicionamento?! Podem me ajudar nesse esclarecimento?!

 

Obrigada!

Att,

Renata

 



Responder a