Zacznij terazZacznij za darmo

Transakcje wielooperacyjne

Teraz użyj kilku operacji w ramach jednej transakcji, aby ustawić flagę w kolumnie FIELD48 – w zależności od tego, czy dany rekord zawiera aktywa rządów stanowych USA (kolumna RCON2203), aktywa zagraniczne (kolumna RCON2236), czy oba rodzaje naraz.

Wartości FIELD48 powinny przyjmować odpowiednio: 'US-STATE-GOV', 'FOREIGN' lub 'BOTH'. Pola flag tego typu są powszechne w rządowych zbiorach danych i świetnie sprawdzają się do kategoryzowania rekordów.

To ćwiczenie jest częścią kursu

Transakcje i obsługa błędów w PostgreSQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Rozpocznij transakcję.
  • Napisz 3 instrukcje UPDATE, które wykryją każdy z warunków w kolumnie i ustawią flagę FIELD48 na odpowiednią wartość.
  • Zakończ transakcję.
  • Wybierz liczbę rekordów, dla których flaga ma wartość 'BOTH'.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

-- 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 ___ = '___';
Edytuj i uruchom kod