Update REQ000000353288.sql

parent ed68c26e
Showing with 83 additions and 2 deletions
DO $$
DECLARE
v_inuid_origem INT := 1;
v_inuid_destino INT := 3808;
v_rows_updated INT;
v_rows_inserted INT;
BEGIN
-- 1️⃣ Atualiza registros existentes
UPDATE par3.instrumentounidade
SET itrid = '1'
WHERE inuid = '3808';
WHERE inuid = v_inuid_destino;
GET DIAGNOSTICS v_rows_updated = ROW_COUNT;
IF v_rows_updated = 0 THEN
RAISE EXCEPTION 'Nenhum registro atualizado em par3.instrumentounidade';
END IF;
-- 2️⃣ Insere novos registros na tabela instrumentounidade
INSERT INTO par.instrumentounidade (
inuid,
itrid,
inudata,
estuf,
muncod,
mun_estuf,
docid,
liberatramitobra,
inutermoliberado,
inucnpj,
inudescricao
)
SELECT
v_inuid_destino AS inuid,
itrid,
inudata,
estuf,
muncod,
mun_estuf,
docid,
liberatramitobra,
inutermoliberado,
inucnpj,
inudescricao
FROM par.instrumentounidade
WHERE inuid = v_inuid_origem;
GET DIAGNOSTICS v_rows_inserted = ROW_COUNT;
IF v_rows_inserted = 0 THEN
RAISE EXCEPTION 'Nenhum registro inserido em par.instrumentounidade';
END IF;
-- 3️⃣ Insere novos registros na tabela dadosunidade
INSERT INTO par.dadosunidade (
inuid,
entid,
dundata,
usucpf,
dutid,
sgmid,
dunfuncao,
duncpf,
dunemail,
dunnome,
dunsegmento,
duperfil_especial,
dudataperfil_especial
)
SELECT
v_inuid_destino AS inuid,
entid,
dundata,
usucpf,
dutid,
sgmid,
dunfuncao,
duncpf,
dunemail,
dunnome,
dunsegmento,
duperfil_especial,
dudataperfil_especial
FROM par.dadosunidade
WHERE inuid = v_inuid_origem;
EXCEPTION
WHEN OTHERS THEN
RAISE WARNING 'Erro ao alterar prestacao de contas: %', SQLERRM;
-- Interrompe o bloco e exibe o erro
RAISE EXCEPTION 'Erro ao executar operação: %', SQLERRM;
END;
$$;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment