Comece agoraComece grátis

Rollbacks com múltiplas instruções

Agora vamos usar várias instruções em uma transação para definir um indicador em FIELD48 com base em manter ativos do governo estadual dos EUA representados em RCON2203, ativos estrangeiros representados em RCON2236, ou ambos. Os valores de FIELD48 devem ser 'US-STATE-GOV', 'FOREIGN' ou 'BOTH', respectivamente. No entanto, você cometeu um erro na instrução para o caso de ambos.

Este exercicio faz parte do curso

Transações e Tratamento de Erros no PostgreSQL

Ver curso

Instruções do exercicio

  • Monte 3 instruções de update para detectar cada condição e definir o indicador.
  • Desfaça o erro de defini-lo como 'BOOTH' em vez de 'BOTH' fazendo rollback da transação.
  • Selecione a contagem de registros em que o indicador está definido como 'BOOTH'.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

-- Begin a new transaction
BEGIN;

-- Update FIELD48 flag status if US State Government deposits are held
UPDATE ffiec_reci
SET ___ = 'US-STATE-GOV'
WHERE RCON2203 > 0;

-- Update FIELD48 flag status if Foreign deposits are held
UPDATE ffiec_reci
SET FIELD48 = '___'
WHERE RCON2236 > 0;

-- Update FIELD48 flag status if US State Government and Foreign deposits are held
UPDATE ffiec_reci
SET FIELD48 = 'BOOTH'
WHERE RCON2236 > 0
AND ___ > 0;

-- Undo the mistake
___; 

-- Select a count of records that are booth (it should be 0)
SELECT COUNT(FIELD48)
FROM ffiec_reci
WHERE ___ = 'BOOTH';
Editar e Executar Código