Problema resolvido...
Obrigada..
Em 16/09/08, Vi <[EMAIL PROTECTED]> escreveu:
>
> Bom dia Pessoal!!
> Seguinte, estou escrevendo um procedure para atualizar/inserir dados em
> duas tabelas de uma só vez, porém o segundo update não acontece (a parte do
> insert eu ainda nao testei, por tanto nao sei se tem algum erro..), e não
> estou entendendo o motivo para a não realização do mesmo, senda que estou
> igualando os ids na condição, alguem poderia me ajudar?
>
>
> Obrigada!!
>
> []'s..
>
> contfisndid -> FK para o campo contid.
>
> CREATE OR REPLACE FUNCTION atubs (cpf varchar (14),nom varchar (54),rua
> varchar (54), num varchar (54),cmp varchar (54),bro varchar (54),cid varchar
> (54),est char (2),cep char (9)) RETURNS "text" AS $$
> DECLARE
> infcont record;
> infcontfs record;
> BEGIN
> select into infcont contid from cont where contcpf = cpf;
>
> IF FOUND
> THEN
> UPDATE cont
> SET
> contnom = nom
> WHERE contcpf = cpf;
>
> UPDATE contfisnd
> SET
> contfisndrua = rua,
> contfisndnum = num,
> contfisndcmp = cmp,
> contfisndbro = bro,
> contfisndcid = cid,
> contfisndest = est,
> contfisndcep = cep
>
> WHERE contfisndid = infcont.contid;
>
> RETURN NULL;
>
> ELSE
> select into infcontfs contid from cont where contcpf = cpf;
> INSERT INTO cont (
> contid,
> contcpf,
> contnom )
> VALUES (
> nextval('cont_contid_seq'),
> cpf,
> nom );
>
> INSERT INTO contfisnd (
> contfisndid,
> contfisndrua,
> contfisndnum,
> contfisndcmp,
> contfisndbro,
> contfisndcid,
> contfisndest,
> contfisndcep )
> VALUES(
> infcontfs.cntid,
> rua,
> num,
> cmp,
> bro,
> cid,
> est,
> cep );
>
> RETURN NULL;
> END IF;
> END;
>
> $$ language plpgsql;
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral