Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaellima

"trigger generica"

Recommended Posts

quero fazer um procedimento de rotina: quando um dado eh inserido ou atualizado em qualquer tabela do meu banco pego o login da rede do usuario e insiro num campo 'usuarioQueModifica', por exemplo, da tabela (obs. todas as tabelas tem o campo descrito).pegar o login do usuario da rede eh besteira o problema eh que nao quero fazer um trigger para cada tabela. gostaria de fazer algo como uma "trigger generica".quando fosse feita insercao ou atualizacao em qualquer tabela do meu schema essa "trigger generica" eh chamada e tal...isso eh possivel? toda e qualquer ideia eh valida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tive este problema, para as tabelas existentes fiz um bloco plsql que gerou os

scripts de criação das colunas e outro que criou scripts com as triggers, nas tabelas posteriores

copiei e colei as triggers alterando os dados para outra tabela.

Acho que dá para criar uma trigger em cima de comandos DDL, mas não sei bem como

funciona isto , nesta trigger poderia ter a geração do script da outra trigger.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que eu queria eh o seguinte:um prodecimento executado qndo em qlqr tabela eh realizada insert ou update...como disse antes, um "trigger generico".procedimento (tabela)comeca se ocorreu insert ou update na tabela inserir usuario na colunaXterminanao sei como ia ficar os disparos do job... se em cada segundo vou ter problema de memoria, alem de ter de saber se o proecedimento estah sendo realizado na tabela ou nao.valew...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Ainda não é possível criar um evento DML em cima de um owner por completo, generalizando todas as tabelas, somente em cima de algum objeto específico ou em cima de instruções DDL.

 

O que tu pode fazer é triggers de (BEFORE INSERT OR DELETE OR UPDATE ON owner.tabela) para cada tabela do seu owner, porém, sua base de dados ficará com milhares de triggers o que pode profundamente acarretar a performance da máquina e do banco de dados.

 

Para esse caso o que tu poderá utilizar é o AUDIT TRAIL do Oracle mesmo para auditar as tabelas que sofreram operações de DML e armazenar o Login. Mas, logo aviso que esse recurso consome recursos de máquina muito grande.

 

Abraços, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.