Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL Workbench में DECLARE सिंटैक्स एरर कैसे ठीक करें?

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; ENDBEGIN DECLARE x INT; SET x=1; END
DECLARE को IF ब्लॉक के अंदर रखनाDECLARE हमेशा BEGIN के तुरंत बाद
डिफ़ॉल्ट मान भूलना जब आवश्यक होDECLARE x INT DEFAULT 0;

नोट

  • DECLARE केवल स्टोर्ड प्रोग्राम (प्रोसीजर, फंक्शन, ट्रिगर, इवेंट) के अंदर अनुमत है।
  • यूज़र-डिफ़ाइंड वेरिएबल (@var) के लिए DECLARE की आवश्यकता नहीं; वे सेशन-स्कोप होते हैं।
  1. - MySQL में वेरिएबल कैसे घोषित करें?

    हम SELECT और SET कमांड की मदद से MySQL में वेरिएबल घोषित कर सकते हैं। वेरिएबल घोषित करने से पहले हमें @ चिह्न को उपसर्ग करना होगा।सिंटैक्स निम्नानुसार है:SELECT @yourVariableName;चिह्न @ बताता है कि यह उपयोगकर्ता-परिभाषित वेरिएबल है या नहीं। यदि कोई चिह्न नहीं है, तो इसका मतलब होगा कि यह एक स्थानीय

  1. MySQL एरर #1046 - कोई डेटाबेस चुना नहीं गया MySQL एरर #1046 - कोई डेटाबेस चुना नहीं गया

    एरर #1046 तब आता है जब आप टेबल बनाते समय डेटाबेस सेलेक्ट करना भूल जाते हैं। समस्या ); ERROR 1046 (3D000): No database selected समाधान उपलब्ध डेटाबेस देखें: SHOW DATABASES; डेटाबेस चुनें: USE business; Database changed अब टेबल बनाएं — एरर नहीं आएगा: ); Query OK, 0 rows affected (0.50 sec) नो

  1. - MySQL कंस्ट्रेंट्स को कैसे संभालता है?

    आइए समझते हैं कि MySQL कंस्ट्रेंट्स को कैसे संभालता है: MySQL हमें ट्रांजैक्शनल टेबल्स (जो रोलबैक की अनुमति देते हैं) और नॉन-ट्रांजैक्शनल टेबल्स (जो रोलबैक की अनुमति नहीं देते) के साथ काम करने में मदद करता है। यही कारण है कि अन्य DBMS की तुलना में MySQL में कंस्ट्रेंट्स को संभालना अलग है। नॉन-ट्रा