Bom dia pessoal,
estou com uma dificuldade para criar uma regra que não permite insert de
linhas duplicadas.
fiz um teste simples, criei uma tabela test e a regra, mas quando vou
inserir mesmo sem ter nada na tabela ele ja me acusa o erro.
a regra é simples, nao pode ter o tipoacesso e numero iguais..
será que alguem teria alguma ideia?
CREATE TABLE test
(
chave integer,
tipoacesso character(1),
numero integer
)
create or replace rule protect_double as
on INSERT to test
where chave in(
select res.chave from dah.test res
where new.tipoacesso='R' and new.numero=res.numero)
do instead select erroDouble();
CREATE OR REPLACE FUNCTION erroDouble() RETURNS VOID AS $$
BEGIN
RAISE EXCEPTION 'Numero Duplicada não permitido!!!';
END;
$$
LANGUAGE plpgsql;
testando o insert
insert into test values(-5,'R', 1)
--
Douglas Fabiano Specht
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral