НачатьНачать бесплатно

Транзакции с несколькими операторами

Теперь используем несколько операторов в одной транзакции, чтобы установить флаг в поле FIELD48 в зависимости от того, содержит ли запись активы государственных органов США (поле RCON2203), иностранные активы (поле RCON2236) или и те и другие.

Допустимые значения для FIELD48: 'US-STATE-GOV', 'FOREIGN' или 'BOTH' соответственно. Поля-флаги подобного рода широко используются в государственных наборах данных — они удобны для категоризации записей.

Это упражнение является частью курса

Транзакции и обработка ошибок в PostgreSQL

Посмотреть курс

Инструкции к упражнению

  • Начните транзакцию.
  • Напишите 3 оператора UPDATE, чтобы определить каждое условие в столбце и присвоить флагу FIELD48 соответствующее значение.
  • Завершите транзакцию.
  • Выберите количество записей, у которых флаг установлен в значение 'BOTH'.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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