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

Responder a