Sintaxe:
A seguir, a sintaxe simples para gerar um gatilho:
>> Crie Trigger Trigger_Name [antes | After | em vez de] Nome de eventos em tabela_name [---- Trigger Logic];
Aqui está a explicação da consulta geral acima.
Para entender o conceito de gatilho brevemente, inicie o shell PostGresql a partir dos aplicativos. Altere o servidor se quiser trabalhar em outro servidor ou pressione Enter do seu teclado. Adicione o nome do banco de dados em que você deseja trabalhar, caso contrário, deixe -o e toque. Como você pode ver, atualmente trabalhamos na porta 5432 como padrão; você também pode mudar isso. Depois disso, forneça um nome de usuário que não seja o Postgres, se você quiser trabalhar com outro usuário, ou então deixe -o em branco e pressione o botão Enter. Agora seu shell de comando está pronto para ser usado.
Acionar o comando inserir
Vejamos o exemplo de um gatilho quando o comando Insert for usado como um evento de gatilho. Para isso, temos que criar duas novas tabelas, e.g., “Empregar” e “Auditoria”. A tabela “Empregar” conterá os registros pessoais dos funcionários de uma empresa específica e a tabela “Auditoria” conterá as informações sobre quando os funcionários ingressarem na empresa. As consultas para criar as tabelas são dadas abaixo.
>> Criar a tabela empregar (ID inteiro não é a chave primária nula, nome Varchar (100) não nulo, idade varchar (100) não nulo, salário varchar (100) não nulo);
>> Crie auditoria de tabela (inteiro empid não nulo, entradas_date varchar (100) não nulo);
Você deve criar um procedimento que seja executado automaticamente ou funcionar quando o gatilho será chamado. Será usado no próximo comando Criar Trigger. No comando abaixo, você pode ter uma ideia de que estamos criando um procedimento "AuditLogFunc ()", que retornará um gatilho como variável "$ examp_table $". A função começa com a cláusula Begin, seguida pela declaração de inserção. Esta instrução Insert insere ID automática e data atual usando a função interna na tabela "Auditoria" e retornando esse resultado para acionar.
É hora de gerar um gatilho usando o comando Create Trigger. Criamos um gatilho chamado "EMP_TRIG" na tabela "Empregue". A cláusula após a inserção significa que esse gatilho só funcionará após a execução do comando de inserção. Para cada linha significa sobre a execução de todos.
>> Crie o Trigger EMP_TRIG após a inserção do emprego para cada procedimento de execução de linha AuditLogFunc ();
É hora de inserir alguns dados na tabela "empregar". Execute o comando inserir abaixo no shell.
>> Inserir em empregar (id, nome, idade, salário) valores ('1', 'Paul', '34', '60000');
Dê uma olhada na mesa "emprega". Os dados foram adicionados com sucesso com o comando de inserção.
Agora tenha um vislumbre da tabela de "auditoria". Você pode ver, ele também é atualizado devido ao gatilho "EMP_TRIG" e AUDITLOGFUNC ().
Disparar com o comando de atualização
Agora estaremos analisando um exemplo de gatilho usando o comando de atualização como um evento de gatilho. Temos que criar um novo procedimento novamente com o nome diferente "Atualização", conforme apresentado na imagem. Este procedimento também inserirá registros na tabela de 'auditoria' após a chamada.
Agora, crie um novo gatilho chamado "update_emp" usando o comando Create Trigger. Isso só funcionará após a execução da consulta de atualização na tabela e chamará o procedimento de "atualização".
Atualize a tabela "Empregue" definindo seu ID para "2".
Busque os registros de uma tabela "empregar" para ver as alterações conforme anexado abaixo.
Como você pode ver na tabela "Auditoria", ela foi reorganizada à medida que a tabela "emprega" foi atualizada.
Acionar o comando excluir
Abra o PGADMIN 4 de aplicações para trabalhar no GUI PostgreSQL. Sob o “teste” do esquema, você descobrirá uma lista de tabelas. Crie uma nova tabela "EMP" e a mesma tabela "Audit".
Desta vez, invocaremos o comando Trigger pelo comando Delete. Abaixo está a tabela “Emp” com alguns registros.
Aqui está a tabela de auditoria com as duas atualizações anteriores.
Crie um procedimento chamado "del ()" para acionar a inserção na tabela "Auditoria" ao excluir os registros da tabela "Emp".
Crie um gatilho "del_trig" usando a consulta Create Trigger. Este gatilho executará o procedimento "del" quando alguma cláusula de exclusão será realizada na tabela "Emp".
Vamos excluir um recorde da tabela "Emp", onde o funcionário "ID" é "5". Ele excluirá uma linha da tabela "empinada".
Busque os registros da tabela “emp. E dê uma olhada nela. Você pode ver que a linha foi removida onde o "id" era "5".
Agora extraia os registros da tabela “Auditor.
Conclusão:
Fizemos quase todos os exemplo essenciais para entender o conceito de gatilho durante a execução de operações de inserção, atualização e exclusão.