terça-feira, 20 de abril de 2021

Exemplo de função SQL para atualizar vários registros que usam sequence

       Nesse artigo trago um exemplo de uma função para atualização de vários registros com dados de uma sequence. Caso não seja criada uma função o que acontece é que apesar de chamar-mos a sequence, todos os os registros receberiam o mesmo valor. Por isso se faz necessário o uso de uma função.


CREATE OR REPLACE FUNCTION cria_num_boletim_pacientes_em_atendimento()

 RETURNS void

 LANGUAGE plpgsql

AS $function$

declare

internacao record;

        begin

for internacao in

(select il.id_internacao from t_internacao_leito il

inner join t_internacao it on il.id_internacao = it.id_internacao

where it.id_tipo_atendimento = 2 and il.data_alta is null

group by il.id_internacao)

loop

update t_internacao set num_boletim = (select nextval('s_numero_boletim'))  where id_internacao = internacao.id_internacao;

end loop;

         end;

$function$;

Nenhum comentário:

Postar um comentário