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