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

Savepoint के साथ रोलबैक

पिछले अभ्यास पर आगे बढ़ते हुए, पाया गया है कि जिन बैंकों के पास MMDAs में $6 मिलियन से अधिक हैं, वे मंदी के दौरान टिके रहने की दोगुनी संभावना रखते हैं, उनकी तुलना में जिनके पास उसी एसेट क्लास में $5 से 6 मिलियन के बीच है। इस नमूना कोड में मेरी तरफ़ से एक गलती हो गई है, और डेटा की अखंडता बनाए रखने के लिए हमें savepoint पर रोलबैक करना होगा.

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

PostgreSQL में Transactions और Error Handling

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

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

  • एक ट्रांज़ैक्शन के अंदर FIELD48 को 'MMDA+' सेट करें जहाँ RCON6810 (MMDA राशि) $6 मिलियन से अधिक हो.
  • mmdaplus_flag_set को एक savepoint के रूप में सेट करें.
  • FIELD48 को 'MMDA+' सेट करें जहाँ RCON6810 (MMDA राशि) $5 मिलियन से अधिक हो (यह गलती है).
  • mmdaplus_flag_set तक undo करें, ट्रांज़ैक्शन समाप्त करें, और 'MMDA+' रिकॉर्ड्स की गिनती करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

BEGIN;

-- Set the flag to MMDA+ where the value is greater than $6 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where RCON6810 > 6000000;

-- Set a Savepoint
___ mmdaplus_flag_set;

-- Mistakenly set the flag to MMDA+ where the value is greater than $5 million
UPDATE ffiec_reci set FIELD48 = 'MMDA+' where ___ > 5000000;

-- Rollback to savepoint
___ TO ___;

COMMIT;

-- Select count of records where the flag is MMDA+
SELECT count(FIELD48) from ffiec_reci where FIELD48 = 'MMDA+';
कोड संपादित करें और चलाएँ