Bom vo fazer um exemplo de como criar um gatilho em uma tabela, o usuário deve possuir o privilégio TRIGGER na tabela.
Na versão atual, gatilhos de declaração (STATEMENT triggers) não estão implementados.
Consulte o comando DROP TRIGGER para obter informações sobre como remover gatilhos.
Na versão atual, gatilhos de declaração (STATEMENT triggers) não estão implementados.
Consulte o comando DROP TRIGGER para obter informações sobre como remover gatilhos.
Exemplos
Verificar se o código do distribuidor existe na tabela de distribuidores antes de inserir ou atualizar uma linha da tabela filmes:
Verificar se o código do distribuidor existe na tabela de distribuidores antes de inserir ou atualizar uma linha da tabela filmes:
CREATE TRIGGER se_dist_existe
BEFORE INSERT OR UPDATE ON filmes FOR EACH ROW
EXECUTE PROCEDURE verificar_chave_primaria ('did', 'distribuidores', 'did');
Antes de remover um distribuidor, ou de atualizar o seu código, remover todas as referências para a tabela filmes:
CREATE TRIGGER se_filme_existe
BEFORE DELETE OR UPDATE ON distribuidores FOR EACH ROW
EXECUTE PROCEDURE verificar_chave_primaria (1, 'CASCADE', 'did', 'filmes', 'did');
O segundo exemplo também pode ser implementado usando uma chave estrangeira, como em:
CREATE TABLE distribuidores (
did DECIMAL(3),
nome VARCHAR(40),
CONSTRAINT se_filme_existe
FOREIGN KEY(did) REFERENCES filmes
ON UPDATE CASCADE ON DELETE CASCADE
);
Está situação eu fiz no PostgreSQL com (SQL99).
Bom embreve farei mais posts acompanhem.
Nenhum comentário:
Postar um comentário