2009/8/14 JotaComm <jota.c...@gmail.com>: > Nilson, > > 2009/8/14 Nilson Chagas <nilson.chagas.si...@gmail.com> >> >> 2009/8/14 JotaComm <jota.c...@gmail.com>: >> > Olá, Nilson >> > >> > 2009/8/14 Nilson Chagas <nilson.chagas.si...@gmail.com> >> >> >> >> Puxa sabia que existia outras formas. >> >> >> >> Uma pergunta, o CREATE RULE estará funcionando como um "DEFAULT" para >> >> o campo no disparo da inserção?? >> > >> > Sim. Toda inserção que estiver na tabela ele chama rule e executa o >> > comando >> > UPDATE. >> >> >> >> >> >> Se eu informar um id diferente, ele não vai sobregravar?? (só para >> >> confirmar) >> > >> > Irá gerar um nova entrada (linha) na tabela. >> >> Aqui você me confundiu. >> >> Se eu fizer um >> insert into usuario (usu_id, usu_username) values (1, 'teste') >> >> Com o rule, ele vai inserir o per_id da tabela perfil no campo per_id >> da tabela usuario. >> >> E se eu fizer >> insert into usuario (usu_id, usu_username, per_id) values (1, 'teste', 10) >> >> Ele vai criar uma nova linha?? > > Ao executar desta forma você fara o INSERT porém após esta operação de > INSERT é chamada uma RULE de UPDATE e assim o seu registro inserido será > atualizado pela RULE. > > Se você não quiser que ela funcione assim, no final da RULE coloque a > seguinte condição AND usuario.per_id IS NULL, assim ele não atualizará o > valor do insert quando você informa o para per_id.
Puxa, agora ficou bem claro e vai funcionar como preciso. Abusando um pouco mais de vocês. create rule, ou trigger?? Posso ter problema com performance, visto que os dois podem fazer o mesmo serviço?? -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br -> Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho http://www.amados.com.br http://bbnradio.org -> Ouça a rádio e faça gratuitamente um Curso Biblico On-Line _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral