ऐसा स्टोर्ड प्रोसिजर चलाना जो त्रुटि फेंकता है
आप 3 Trek Conduit+ बाइक्स, जिनकी कीमत $499.99 है, के प्राप्त होने का रजिस्टर करना चाहते हैं.
आपको लगता है कि Trek Conduit+ products टेबल में मौजूद नहीं है, इसलिए आप इसे नया प्रोडक्ट मानकर, पिछले अभ्यास में बनाए गए स्टोर्ड प्रोसिजर का उपयोग करते हुए, इन्सर्ट करने की कोशिश करते हैं:
CREATE PROCEDURE insert_product
@product_name VARCHAR(50),
@stock INT,
@price DECIMAL
AS
BEGIN TRY
INSERT INTO products (product_name, stock, price)
VALUES (@product_name, @stock, @price);
END TRY
BEGIN CATCH
INSERT INTO errors VALUES ('Error inserting a product');
THROW;
END CATCH
आपको स्टोर्ड प्रोसिजर के निष्पादन में आने वाली संभावित त्रुटियों को पकड़ना है और मूल त्रुटि संदेश दिखाना है.
आप स्क्रिप्ट कैसे तैयार करेंगे?
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL Server में Transactions और Error Handling
अभ्यास निर्देश
insert_productनाम के स्टोर्ड प्रोसिजर को एक्सीक्यूट करें.- स्टोर्ड प्रोसिजर के पैरामीटर्स के लिए उपयुक्त मान सेट करें.
- त्रुटि हैंडलिंग को
CATCHब्लॉक से घेरें. - त्रुटि संदेश सेलेक्ट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
BEGIN TRY
-- Execute the stored procedure
EXEC ___
-- Set the values for the parameters
@product_name = 'Trek Conduit+',
@stock = ___,
@price = ___;
END TRY
-- Set up the CATCH block
___ ___
-- Select the error message
SELECT ___;
___ ___