create or replace function temoid() returns boolean language plpgsql as $$ declare total int; begin SELECT count(oid) into total from examematintdesmembrar; if not found then return false; else return true; end if; exception when others then return false; end $$; --[lode] create or replace function atualizaordem() returns boolean language plpgsql as $$ declare versao varchar; o int; contador int; rec record; begin contador = 1; if (temoid()) then update examematintdesmembrar set emd_ordem = oid; else for rec in select * from examematintdesmembrar loop update examematintdesmembrar set emd_ordem = contador where fil_codigo = rec.fil_codigo and exa_codigo = rec.exa_codigo and mco_codigo = rec.mco_codigo and int_codigo = rec.int_codigo and exa_kodigo = rec.exa_kodigo and mco_kodigo = rec.mco_kodigo; contador = contador + 1; end loop; end if; return true; end; $$; --[lode] alter table examematintdesmembrar add emd_ordem integer; --[lode] select atualizaordem(); --[lode] drop function temoid(); --[lode] drop function atualizaordem(); --[lode] insert into atualizacoes(atu_nome) values ('v23010001_250123.sql'); --[lode] alter table tipousuario add tpu_inativo boolean default false; --[lode] insert into atualizacoes(atu_nome) values ('v23010002_250123.sql'); --[lode]