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

Responder a