BaşlayınÜcretsiz başlayın

Çoklu ifadelerde Rollback

Şimdi bir işlem içinde birden çok ifade kullanarak, RCON2203'te temsil edilen ABD eyalet hükümeti varlıklarını, RCON2236'da temsil edilen yabancı varlıkları veya her ikisini birden tutmasına göre FIELD48 içinde bir işaret (flag) ayarlayalım. FIELD48 için değerler sırasıyla 'US-STATE-GOV', 'FOREIGN' veya 'BOTH' olmalı. Ancak, her ikisi için yazdığın ifadede bir hata yaptın.

Bu egzersiz, kursun bir parçasıdır

PostgreSQL'de İşlemler (Transaction) ve Hata Yönetimi

Kursa Göz Atın

Egzersiz talimatları

  • Her koşulu tespit edip bayrağı ayarlayacak 3 UPDATE ifadesi yaz.
  • İşlemi geri alarak 'BOTH' yerine yanlışlıkla 'BOOTH' olarak ayarlama hatasını düzelt.
  • Bayrağın 'BOOTH' olarak ayarlandığı kayıtların sayısını seç.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

-- 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';
Kodu Düzenle ve Çalıştır