多敘述交易
現在,讓我們在一個交易中使用多個敘述,依據是否持有 RCON2203(代表美國州政府資產)、RCON2236(代表外國資產),或同時持有兩者,來設定 FIELD48 的旗標。
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 ___ = '___';