SQL - Apresentando Triggers
Se até agora você esta acostumado a trabalhar com banco de dados do tipo ISAM ( Dbase , FoxPro, Access , Paradox...); desenvolver uma aplicação para gerenciar os dados neste caso significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface , passando pela manutenção dos dados e as regras de negócios do sistema.
É o sistema que deve controlar e tomar as decisões sobre o que fazer em determinadas situações. Assim em um programa para controlar os produtos de uma empresa quando a quantidade de um produto atingir uma certa quantidade o sistema deverá avisar o operador/usuário para providenciar a reposição do mesmo.
Ao trabalhar com base de dados Cliente/Servidor como SQL Server , Oracle , Informix , dentre outras, podemos usar um recurso muito poderoso chamado Trigger.
Um Trigger é bloco de comandos Transact-SQL que é automaticamente executado quando um comando INSERT , DELETE ou UPDATE for executado em uma tabela do banco de dados.
Os Triggers são usados para realizar tarefas relacionadas com validações , restrições de acesso , rotinas de segurança e consistência de dados ; desta forma estes controles deixam de ser executados pela aplicação e passam a ser executados pelos Triggers em determinadas situações :
A criação de um Trigger envolve duas etapas :
Como não poderia deixar de ser , existem certas limitações na utilização de um Trigger :
Como criar um Trigger
Podemos criar um Trigger usando o comando Create Trigger do SQL Server ou através do Enterprise Manager. A Sintaxe de um Trigger é a seguinte:
CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { { { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ] | IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) { comparison_operator } column_bitmask [ ...n ] } ] sql_statement [ ...n ] } } |
Quando você for criar um Trigger deverá definir :
Exemplo de Triggers:
1- O trigger abaixo será disparado quando alguém tentar incluir ou alterar dados na tabela Titles. Ele emite uma mensagem ao usuário. ( 50009 é uma mensagem definida para o usuário em sysmessages.)
|
Criando um Trigger com o Enterprise Manager
Vamos ver agora como criar um trigger usando o Enterprise Manager :
figura 1 | figura 2 |
- Agora clique com o botão direito do mouse sobre a tabela para a qual deseja criar o trigger e no menu selecione : All Tasks e a seguir Manage Triggers, conforme abaixo
- A janela Triggers Properties será exibida com a estrutura padrão de um trigger.Agora faça o seguinte :
- Vamos criar o trigger chamado teste que emitirá um aviso toda vez que um registro for incluído na tabela Tabela1. O desenho do nosso trigger deverá ficar assim:
- Verifique a sintaxe clicando em - Check Syntax e a seguir salve o trigger clicando no botão OK.
Vamos agora testar se o trigger esta funcionando. Abra o Query Analyzer e selecione o banco de dados para o qual criou o trigger e digite na janela a instrução SQL para incluir um registro . Veja que assim que o registro é incluído a mensagem - "Um registro foi incluído na tabela Tabela1" é exibido indicando que o nosso trigger esta funcionando.
Para alterar um trigger usamos o comando ALTER TRIGGER : ALTER TRIGGER nome_trigger
Para excluir um trigger usamos o comando DROP TRIGGER : DROP TRIGGER nome_trigger
Por enquanto é só isto.. Até a próxima...
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET