Transakce s více příkazy
Teď použijeme v rámci jedné transakce více příkazů. Nastavíme příznak v FIELD48 podle toho, zda banka drží aktiva státní správy USA reprezentovaná v RCON2203, zahraniční aktiva reprezentovaná v RCON2236, nebo oboje.
Hodnoty FIELD48 by měly být 'US-STATE-GOV', 'FOREIGN', resp. 'BOTH'. Taková příznaková pole jsou v datových sadách veřejné správy běžná a hodí se skvěle ke kategorizaci záznamů.
Toto cvičení je součástí kurzu
Transakce a ošetření chyb v PostgreSQL
Pokyny k cvičení
- Zahaj transakci.
- Vytvoř 3 příkazy UPDATE, které detekují každou podmínku ve sloupci a nastaví příznak
FIELD48na správnou hodnotu. - Ukonči transakci.
- Vyber počet záznamů, kde je příznak nastaven na
'BOTH'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- Begin a new transaction
___;
-- 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 ___ = 'FOREIGN'
WHERE RCON2236 > 0;
-- Update FIELD48 flag status if US State Government and Foreign deposits are held
UPDATE ffiec_reci
SET ___ = 'BOTH'
WHERE RCON2203 > 0
AND RCON2236 > 0;
-- Commit the transaction
___;
-- Select a count of records where FIELD48 is now BOTH
SELECT COUNT(FIELD48)
FROM ffiec_reci
WHERE ___ = '___';