Doomed ट्रांज़ैक्शन
आप customer टेबल में दो नए ग्राहकों का डेटा इन्सर्ट करना चाहते हैं। आप ऐसा स्क्रिप्ट तैयार करते हैं जो नियंत्रण रखे कि यदि कोई त्रुटि हो, तो ट्रांज़ैक्शन रोलबैक हो जाए और आपको त्रुटि का संदेश मिल जाए। आप इसे XACT_ABORT और XACT_STATE को साथ में उपयोग करके नियंत्रित करना चाहते हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Transactions और Error Handling
अभ्यास निर्देश
XACT_ABORTकी उचित सेटिंग का उपयोग करें.- जाँचें कि कोई ओपन ट्रांज़ैक्शन है या नहीं.
- ट्रांज़ैक्शन को रोलबैक करें.
- त्रुटि संदेश को सेलेक्ट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH