शुरू करेंमुफ़्त में शुरू करें

मल्टिस्टेटमेंट Rollbacks

अब आइए एक ट्रांज़ैक्शन में कई स्टेटमेंट्स का उपयोग करके FIELD48 में एक फ्लैग सेट करें, इस आधार पर कि क्या उसमें US state government एसेट्स RCON2203 में दर्शाए गए हैं, foreign एसेट्स RCON2236 में दर्शाए गए हैं, या दोनों. FIELD48 के मान क्रमशः 'US-STATE-GOV', 'FOREIGN', या 'BOTH' होने चाहिए. हालाँकि, आपने दोनों के लिए वाले स्टेटमेंट में एक गलती कर दी है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

PostgreSQL में Transactions और Error Handling

पाठ्यक्रम देखें

अभ्यास निर्देश

  • प्रत्येक कंडीशन का पता लगाने और फ्लैग सेट करने के लिए 3 UPDATE स्टेटमेंट्स बनाइए.
  • ट्रांज़ैक्शन को रोलबैक करके इसे 'BOTH' की बजाय 'BOOTH' सेट करने की गलती को पूर्ववत करें.
  • जहाँ फ्लैग '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';
कोड संपादित करें और चलाएँ