Neste post eu trago um exemplo de função no PostgreSQL.
CREATE OR REPLACE FUNCTION public.executa_migracao()
RETURNS void
LANGUAGE plpgsql
AS $function$
DECLARE
dados record;
BEGIN
for dados in
select * from public.v_paciente
loop
BEGIN
INSERT INTO public.t_paciente
(num_prontuario, dsc_nome, num_cpf, num_rg,
dsc_orgao_emissao_rg, dat_nascimento, dsc_mae, dsc_pai,
dat_cadastro, dsc_endereco, dsc_complemento, dsc_bairro,
isn_municipio, isn_uf, num_cep, cod_tipo_telefone_1,
num_ddd_1, num_telefone_1, cod_certidao, dsc_cartorio,
dsc_livro, dsc_folha, dsc_termo, dat_emissao_certidao,
isn_cor, num_cns, isn_sexo, isn_nacionalidade,
cod_estado_civil, nome_social, isn_naturalidade,
num_prontuario_referencia, flg_obito)
VALUES (dados.prontuario,dados.nome,dados.cpf,dados.rg,
dados.orgaoexpedidor, dados.datanascimento, dados.nomemae,
dados.nomepai, dados.data_cadastro, dados.logradouro,
dados.complemento,dados.bairro, dados.municipio, dados.uf,
dados.cep, dados.cod_tipo_telefone_1, dados.ddd,
dados.telefone, dados.cod_certidao, dados.dsc_cartorio,
dados.dsc_livro, dados.dsc_folha,dados.dsc_termo,
dados.dat_emissao_certidao, dados.isn_cor,
dados.cns,dados.sexo,dados.isn_nacionalidade,
dados.estadocivil,dados.nomesocial,dados.naturalidade,
dados.num_prontuario_referencia,dados.flg_obito);
EXCEPTION
when unique_violation then
INSERT INTO public.log_table
(prontuario)
VALUES (dados.prontuario);
END;
end loop;
END;
$function$
;
Nenhum comentário:
Postar um comentário