Usando instead of triggers no SQL Server 2000

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (4)  (1)

Veja neste artigo os triggers instead of do SQL Server 2000.

Usando instead of triggers no SQL Server 2000

Paulo Sérgio Pereira

 

 

Neste artigo vou mostrar os triggers instead of do SQL Server 2000. Os instead of triggers funcionam de uma maneira diferente dos triggers normais, os triggers normais são executados após a execução de algum comando já os instead of triggers são executados antes do comando. Outra propriedade interessante dos instead of triggers é que eles  ignoram incondicionalmente o comando executado. Veja abaixo (Figura 1) um exemplo de um instead of trigger.

 

25-08pic01.JPG

Figura 1 – Criação de instead of trigger

 

Vamos agora inserir um registro para verificar o que acontece. Como você pode ver na figura 2 nenhum registro foi inserido na tabela (isto se deve ao fato de que os triggers instead of ignoram incondicionalmente o comando executado).  Você deve estar se perguntando para que serve este recurso se ele ignora as alterações no banco de dados, vou demonstrar agora como tirar proveito dos instead of triggers. Você pode criar uma view para inclusão dos dados para verificar se as regras de negócios foram violadas e só então depois gravar os dados na tabela. É por isso que costumam dizer que instead of triggers são para views.


25-08pic02.JPG
Figura 2 – Testando o instead of trigger

 

Veja abaixo na figura 3 um exemplo de uma view com instead of trigger, antes de criar este trigger devemos excluir o trigger criado na tabela cliente. Você pode perceber no exemplo abaixo que o trigger checa se os dados inseridos não violam a chave primaria e só então os dados são inseridos na tabela.

 

25-08pic03.JPG 

Figura 3 – Criando um instead of trigger para a view

 

25-08pic04.JPG 

Figura 4 – Testando o instead of trigger da view

 

Como você pode ver na figura 4, a mensagem reportada pelo SQL Server é a nossa mensagem e não a mensagem de violação de chave primaria do SQL Server, isto nos leva a confirmar que o nosso trigger foi executado antes do comando para inserir os dados.

 

Conclusão: Como podemos perceber os instead of triggers nos permitem checar as regras de negócios antes da conclusão do comando, trata-se de um recurso extremamente útil do SQL Server. Espero que possa ser útil a todos. Um grande abraço e até a próxima.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?