0
我试图创建一个函数,允许我在数据库中执行多个查询。这是我第一次尝试使用命令行来实现这一目标。我正在使用PostgreSQL在Linux系统(UNBUNTU)中工作。从命令行创建PostgreSQL函数
我PGSQL:
create function my_function(idteste integer, nome character varying, tipo integer, morada character varying, cpostal character varying, telefone character varying, nif character varying, nacionalidade character varying, iban character varying, moradaimag character varying, cc1 character varying, ccimage1 character varying, ccimage2 character varying, datanascimento date)
returns character varying as $tempvar$
declare tempvar character varying;
begin
tempvar := 'null';
if (select count(id_teste) from singulares where id_idteste=idteste) = 0 then
update pessoas set
nome_pessoal=nome,
tipo_pesoal = tipo,
morada_pessoal=morada,
cpostal_pessoal=cpostal,
telefone_pessoal=telefone,
nif_pessoal=nif,
nacionalidade_pessoal=nacionalidade,
iban_pessoal=iban,
cmorada_img=cmoradaimag
where
id_teste=idteste;
insert into singulares (pessoas_idteste, cc, cc_img1, cc_img2, data_nascimento) values(idteste, cc1, ccimage1, ccimage2, datanascimento);
tempvar := 'gravado com sucesso';
else
update pessoas set
nome_pessoal=nome,
tipo_pesoal = tipo,
morada_pessoal=morada,
cpostal_pessoal=cpostal,
telefone_pessoal=telefone,
nif_pessoal=nif,
nacionalidade_pessoal=nacionalidade,
iban_pessoal=iban,
cmorada_img=cmoradaimag
where
id_teste=idteste;
update singulares set
cc=cc1,
cc_img1=ccimage1,
cc_img2=ccimage2
where
pessoas_idteste=idteste;
tempvar := 'alterado com sucesso';
end if;
return tempvar;
end
$tempvar$ language plpgsql;
我的第一个问题是如何创建通过命令行功能?
创建函数时出现的第二个问题是否可以从PGmyadmin中看到?
您的帮助将受到欢迎!
预先感谢您。
感谢您的帮助。您的方式有效,但如果我们将该功能直接复制到命令行,它的工作方式与我想要的一样。 –