ПочатиПочніть безкоштовно

Відкати для кількох операторів

Тепер використаємо кілька операторів у транзакції, щоб установити прапорець у FIELD48 залежно від того, чи містить вона активи урядів штатів США у RCON2203, іноземні активи у RCON2236, або обидва. Значення для FIELD48 мають бути відповідно: 'US-STATE-GOV', 'FOREIGN' або 'BOTH'. Однак ви припустилися помилки в операторі для «обох».

Ця вправа є частиною курсу

Транзакції та обробка помилок у PostgreSQL

Переглянути курс

Інструкції до вправи

  • Створіть 3 оператори UPDATE, щоб визначити кожну умову й установити прапорець.
  • Скасуйте помилку встановлення значення 'BOOTH' замість 'BOTH', відкотивши транзакцію.
  • Виберіть підрахунок записів, де прапорець має значення 'BOOTH'.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

-- 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';
Редагувати та запускати код