Nested TRY...CATCH में error फंक्शन का उपयोग
आपकी स्टोर में कुछ नई इलेक्ट्रिक बाइक्स आई हैं, इसलिए आपको स्टॉक अपडेट करना है.
आप 2 Trek Powerfly 5 - 2018 बाइक्स को प्रत्येक $3499.99 की कीमत पर, और 3 New Power K- 2018 बाइक्स को प्रत्येक $1999.99 में प्राप्त होने का रिकॉर्ड दर्ज करना चाहते हैं.
आप इन्हें नए मॉडल समझकर डेटाबेस में insert करने की कोशिश करते हैं. लेकिन आप यह भूल गए कि पहली बाइक पहले से स्टॉक में है. सौभाग्य से, products टेबल में एक constraint है जो हर प्रोडक्ट नाम को यूनिक होना आवश्यक बनाता है.
आप insert करते समय संभावित errors को कंट्रोल करने वाला एक स्क्रिप्ट तैयार करते हैं. आप संभावित errors को errors नाम की टेबल में insert भी करना चाहते हैं, और यदि error insert करते समय कुछ असफल हो, तो error number और error message दिखाएँ.
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Transactions और Error Handling
अभ्यास निर्देश
- Error handling को एक
CATCHब्लॉक से घेरें. 'Error inserting a product'कोerrorsटेबल में insert करें और इस insertion को एक औरTRYब्लॉक से घेरें.- Nested error handling को एक और
CATCHब्लॉक से घेरें. - Inner
CATCHब्लॉक में error line और error message select करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
BEGIN TRY
INSERT INTO products (product_name, stock, price)
VALUES ('Trek Powerfly 5 - 2018', 2, 3499.99),
('New Power K- 2018', 3, 1999.99)
END TRY
-- Set up the outer CATCH block
___ ___
SELECT 'An error occurred inserting the product!';
-- Set up the inner TRY block
___ ___
-- Insert the error
INSERT INTO ___
VALUES ('Error inserting a product');
___ ___
-- Set up the inner CATCH block
___ ___
-- Show number and message error
SELECT
___ AS line,
___ AS message;
___ ___
___ ___