Ir para conteúdo

POWERED BY:

Arquivado

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

PotHix

Mais de 1 Trigger para o mesmo evento

Recommended Posts

Æ!!PessoALL,Em uma tabela tenho uma trigger definida para UPDATE, outra para INSERT e outra para DELETE.Agora estou desenvolvendo outra aplicação e precisarei fazer triggers para esses mesmos eventos.O que vocês me recomendam?Criar uma nova trigger para o mesmo evento? ( não sei se é permitido ou correto )Inserir mais códigos dentro da antiga trigger?Fico no aguardo do auxílio de vocês!Há braços

Compartilhar este post


Link para o post
Compartilhar em outros sites

PotHix,

 

Nada impede de você criar diversas triggeres para um mesmo evento no sql server.

 

Eu, particularmente, não recomendo esta prática... pois no momento de debugar um eventual problema no banco de dados, pode ser confuso ter de primeiro descobrir e depois analisar todas as triggeres que afetam a tabela !

 

Se for possível trabalhar com uma trigger única para cada um dos eventos, melhor.

 

Verifique se é possível, de acordo com o tipo de controle que você pretende implementar, a adaptação das triggeres já existentes !

 

Se isto não for possível (por exemplo : se você precisa controles distintos de acordo com a aplicação), então crie triggeres separadas, mas identique-as com nomes específicos. Por exemplo :

 

trTabela_Insert_Aplicação1

trTabela_Insert_Aplicação2

:

 

Fazendo assim, pelo menos a identificação das triggeres fica mais simples, pois elas pode ser relacionadas juntas em uma eventual consulta a tabela sysobjetcs.... (select * from sysobjects where xtype = 'tr' order by name)

 

Somente como exemplo...

 

set nocount on-- Tabela Exemplo   create table Exemplo   (     Coluna1 smallint,    Coluna2 char(3)   )   go-- Trigger Insert_1   CREATE TRIGGER trExemplo_Insert1 ON Exemplo   FOR INSERT   AS     print tr'Exemplo_Insert1'   go-- Trigger Insert_2   CREATE TRIGGER trExemplo_Insert2 ON Exemplo   FOR INSERT   AS     print 'trExemplo_Insert2'   go-- Teste   insert Exemplo values (1,'ABC')   go-- Drop   drop table Exemplo   goset nocount off

Compartilhar este post


Link para o post
Compartilhar em outros sites

Æ!!Amigo MisterPe!Era isso mesmo que gostaria de saber. ^^Muito obrigado pela dica...Como disse no meu post, tenho algumas triggers para insert, update e delete ( que estão nomeadas bunitinho de acordo com a função ^^ ), e o que queria saber é se tem problema em criar mais de 1 para o mesmo evento.Felizmente minha questão foi respondida! Vou criar outra Trigger e nomea-la de acordo com a função que irá exercer. =)Valeu!Há braços

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.