DO INSTEAD NOTHING Em 26/10/2012 18:17, "Fabrízio de Royes Mello" <[email protected]> escreveu:
> > Em 26 de outubro de 2012 18:09, Diego Rivera Tavares de Araujo < > [email protected]> escreveu: > >> Boa tarde Pessoal, >> >> Estou tentando criar uma regra para inserir na tabela usuarios para >> inserir somente quando o registro ainda nao tenha sido inserido mas não >> estou conseguindo, alguém por ai para dar uma luz. >> >> >> CREATE OR REPLACE RULE rule_I_usuarios as on insert TO usuarios >> where (new.matricula not in (select matricula from usuarios)) >> DO >> insert into usuarios(matricula,nome,fone,tipo,cargo,lotacao,rua, bairro, >> ncasa,criado, atualizado, mail) >> values (new.matricula,new.nome,new.fone, new.tipo, new.cargo, >> new.lotacao,new.rua,new.bairro, new.ncasa, current_timestamp,NULL,new.mail); >> >> INSERT INTO usuarios( >> matricula, nome, fone, tipo, cargo, lotacao, rua, bairro, >> ncasa, >> criado, atualizado, mail) >> VALUES (123, 'diego', '5', 2, 'ti', 'lotacao', 'rua','bairro',30, >> now(),now(), 'mail'); >> >> Erro: ERROR: infinite recursion detected in rules for relation "usuarios" >> >> > Porque vc não cria um índice UNIQUE para essa sua coluna "matricula", pois > pelo que entendi vc quer inserir somente caso não exista outro usuário com > a matricula que vc está inserindo... correto? > > Att, > > -- > Fabrízio de Royes Mello > Consultoria/Coaching PostgreSQL > >> Blog sobre TI: http://fabriziomello.blogspot.com > >> Perfil Linkedin: http://br.linkedin.com/in/fabriziomello > >> Twitter: http://twitter.com/fabriziomello > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
