Återrullning med flera satser
Nu ska vi använda flera satser i en transaktion för att sätta en flagga i FIELD48 baserat på om banken innehar statliga tillgångar representerade i RCON2203, utländska tillgångar representerade i RCON2236, eller båda. Värdena för FIELD48 ska vara 'US-STATE-GOV', 'FOREIGN' respektive 'BOTH'. Du har dock gjort ett misstag i satsen för båda.
Den här övningen är en del av kursen
Transaktioner och felhantering i PostgreSQL
Övningsinstruktioner
- Bygg 3 UPDATE-satser för att identifiera varje villkor och sätta flaggan.
- Ångra misstaget att ha angett
'BOOTH'i stället för'BOTH'genom att återrulla transaktionen. - Välj en räkning av poster där flaggan är satt till
'BOOTH'.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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';