Olá, Nilson 2009/8/14 Nilson Chagas <[email protected]>
> 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. > > > -- > []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 > > > > > 2009/8/14 JotaComm <[email protected]>: > > Olá, > > > > Pensei na seguinte solução. Veja se atende a sua solução: > > > > CREATE RULE rule_exemplo AS ON INSERT TO usuario DO UPDATE usuario SET > > per_id=perfil.per_id FROM perfil WHERE perfil.per_desc='Usuario'; > > > > Exemplo de utilização: > > > > INSERT INTO usuario(usu_id,usu_usename) VALUES (1,'JP'); > > > > Ao realizar este INSERT automaticamente o campo per_id da tabela usuario > é > > preenchido com per_id da tabela perfil onde a condição é > per_desc='Usuario'. > > > > > > 2009/8/14 Nilson Chagas <[email protected]> > >> > >> O Fabrizio já respondeu e provavelmente dará certo (testarei assim que > >> chegar em casa). > >> > >> Mas como vc perguntou do objetivo é o seguinte: > >> > >> Tabela perfil > >> Campos per_id, per_descr > >> > >> Tabela usuario > >> Campos usu_id, usu_username, per_id > >> > >> Na tabela perfil tenho um registro cuja descrição é "Usuário" > >> > >> Sempre que incluir um novo registro na tabela usuario, o campo per_id > >> da tabela deverá ser preenchido com o valor do campo per_id da tabela > >> perfil, cuso per_descr seja igual a "Usuário" > >> > >> -- > >> []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 > >> > >> > >> 2009/8/13 JotaComm <[email protected]>: > >> > Olá, Nilson > >> > > >> > Fiquei um pouco confuso. Você poderia discorrer um pouco mais sobre > qual > >> > o > >> > seu objetivo com esta função? > >> > > >> > 2009/8/13 Nilson Chagas <[email protected]> > >> >> > >> >> Pessoal, > >> >> > >> >> Não sou dba, e estou apenas gatinhando no postgresql. > >> >> > >> >> Preciso de uma trigger no before insert da tabela (ou talvez alguém > >> >> tenha até uma outra solução). > >> >> > >> >> Estou tentando algo assim: > >> >> > >> >> CREATE OR REPLACE FUNCTION fc_perfil_usuario() > >> >> RETURNS "trigger" AS > >> >> $BODY$begin > >> >> > >> >> -- verifica se o campo per_id é nulo > >> >> IF NEW.per_id IS NULL THEN > >> >> -- busca o id na tabela perfil > >> >> SELECT per_id into perfil FROM perfil where per_descr > = > >> >> 'Usuário'; > >> >> END IF; > >> >> > >> >> -- campo per_id da tabela usuário > >> >> NEW.per_id := perfil; > >> >> > >> >> > >> >> RETURN NEW; > >> >> > >> >> end$BODY$ > >> >> LANGUAGE 'plpgsql' VOLATILE; > >> >> COMMENT ON FUNCTION fc_perfil_usuario() IS 'Se o campo perfil do > >> >> usuario estiver nulo a função busca o id da descrição usuario'; > >> >> > >> >> > >> >> Qual é a maneira correta de se fazer isto?? > >> >> > >> >> -- > >> >> []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 > >> >> [email protected] > >> >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >> > > >> > > >> > []s > >> > -- > >> > JotaComm > >> > http://jotacomm.wordpress.com > >> > http://www.dextra.com.br/postgres > >> > > >> > _______________________________________________ > >> > 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 > > > > Espero ter ajudado. > > > > []s > > -- > > JotaComm > > http://jotacomm.wordpress.com > > http://www.dextra.com.br/postgres > > > > _______________________________________________ > > 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 > []s -- JotaComm http://jotacomm.wordpress.com http://www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
