MySQL स्टोर्ड प्रोसीजर में DECLARE स्टेटमेंट का सही स्थान
MySQL में DECLARE स्टेटमेंट केवल BEGIN ... END ब्लॉक के **शुरुआत में** (किसी अन्य स्टेटमेंट से पहले) आ सकते हैं।
सही सिंटैक्स
BEGIN
DECLARE var1 DATATYPE;
DECLARE var2 DATATYPE DEFAULT default_value;
-- अन्य स्टेटमेंट (SET, SELECT, IF, आदि)
END
उदाहरण: स्टोर्ड प्रोसीजर बनाना और कॉल करना
DELIMITER //
CREATE PROCEDURE declare_Demo()
BEGIN
DECLARE Name VARCHAR(100);
SET Name = 'John';
SELECT Name;
END //
DELIMITER ;
कॉल करना
CALL declare_Demo();
आउटपुट
+------+ | Name | +------+ | John | +------+
सामान्य गलतियां
| गलत | सही |
|---|---|
BEGIN SET x=1; DECLARE x INT; END | BEGIN DECLARE x INT; SET x=1; END |
DECLARE को IF ब्लॉक के अंदर रखना | DECLARE हमेशा BEGIN के तुरंत बाद |
| डिफ़ॉल्ट मान भूलना जब आवश्यक हो | DECLARE x INT DEFAULT 0; |
नोट
DECLAREकेवल स्टोर्ड प्रोग्राम (प्रोसीजर, फंक्शन, ट्रिगर, इवेंट) के अंदर अनुमत है।- यूज़र-डिफ़ाइंड वेरिएबल (
@var) के लिएDECLAREकी आवश्यकता नहीं; वे सेशन-स्कोप होते हैं।