Trigger de DDL Oracle , identificar um "drop column" - GPO (Grupo de Profissionais Oracle)
Home › Fóruns › Banco Oracle › Trigger de DDL Oracle , identificar um "drop column"
Marcado: trigger ddl
Este tópico contém 6 respostas, 2 vozes e foi atualizado pela última vez 1 mês atrás por
junho 2, 2020 às 1:30 pm #146057
create or replace trigger trg_ddl
Minha , dúvida , como reconhecer um evento de exclusão de coluna de uma tabela ?
ALTER TABLE <TABLE> DROP COLUMN <COLUMN>
Dúvida sobre sintaxe, espero estar de acordo às normas.
junho 2, 2020 às 4:43 pm #146058
junho 2, 2020 às 6:26 pm #146059
Yep, é isso aí… Faço porém duas Observações :
1) não vejo muito sentido em se ter isso num database Produção, que seja profissionalmente Administrado : o MÍNIMO que se exige é que não seja casa da mãe Joana, que não seja qualquer um que possa alterar estruturas de tabelas… E em especial DROP, que FACILMENTE pode remover uma coluna / objeto usado/refernciado em trocentas stored PL/SQLs por exemplo, é sacal pra Resolver essas dependências depois…..
2) SE o ambiente realmente exige alterações frequentes de estrutura, TALVEZ o que vc possa fazer é simplesmente AUDITAR ISSO : https://community.oracle.com/thread/2455981?start=15&tstart=0 mostra um exemplo com a Auditoria tradicional Oracle (comando AUDIT)…..
junho 2, 2020 às 6:32 pm #146060
Ah, e só comentando : a auditoria Tradicional, ALÉM de não exigir programação, tal como mostrado no link que passei além disso TAMBÉM te dá de lambuja o TEXTO DO SQL executado e as BINDs , se vc estiver com Audit Extendida habilitada no banco…. A ser considerado….
junho 2, 2020 às 7:34 pm #146061
Você sabe que seu problema é esdrúxulo quando a documentação é parca e existem poucas referências dele …
junho 2, 2020 às 7:54 pm #146062
Sim, para casos extremos, esdrúxulos e aberrantes do tipo é que a Oracle permite tanto Audit quanto trigger de de DDL… O que vc vai fazer agora, imagino, é DETECTAR EXATAMENTE quando quem/qual programa do sistema tá fazendo o tal DROP E assim que tiver a ** PROVA ** do mal-comportamento da Aplicação, abrir um TICKET no Suporte da Aplicação e demandar a Correção….
É claro, principalmente se for ERP de fabricante pequeno e ruim, ele vai dar uma outra finalidade bem menos nobre pro seu ticket (o Suporte pós-venda da maioria desse pessoal é abaixo da crítica) mas afora isso, não tem o que mais vc fazer, Não Tem Como um BUG de aplicação ser corrigido pelo database….