quinta-feira, 19 de novembro de 2020

Exemplo de Função no PostgreSQL

     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