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