Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में संग्रहीत कार्यविधि का उपयोग करते समय दो समस्याएँ प्राप्त करना

यही प्रतिबंध है।

अब, समाधान:नेस्टेड जोड़ें BEGIN... END ब्लॉक करें।

DELIMITER $$
CREATE PROCEDURE ...
BEGIN
  DECLARE ... INT ... -- variable
  CREATE TEMPORARY TABLE... -- following the declarations, no more declarations allowed, unless...
  BEGIN -- resets the scope, changes the rules, allows more declarations
    DECLARE ... INT ... -- variables
    DECLARE ... CURSOR ...
    DECLARE CONTINUE HANDLER ...
    OPEN ...
    ...
  END;
END $$

बाहरी ब्लॉक में सभी चर अभी भी आंतरिक ब्लॉक में दायरे में हैं, जब तक कि आंतरिक ब्लॉक में किसी अन्य चर का परस्पर विरोधी नाम न हो।

एक हैंडलर बाहरी ब्लॉक में भी आंतरिक ब्लॉक में संकेतों के दायरे में है, जब तक कि एक परस्पर विरोधी हैंडलर घोषित नहीं किया जाता है, उस स्थिति में आंतरिक हैंडलर अपवाद को पकड़ लेगा और बाहरी हैंडल आंतरिक हैंडलर द्वारा फेंके गए किसी भी चीज को पकड़ लेगा, जिसमें एक <कोड भी शामिल है।>रेजिग्नल ।

एकाधिक घोंसले के शिकार स्तरों की अनुमति है। thread_stack<का आकार /कोड> एक कारक हो सकता है, लेकिन दस्तावेज़ीकरण अस्पष्ट है। मैं 262,144 बाइट थ्रेड स्टैक चला रहा हूं, क्योंकि इसे डिफ़ॉल्ट बनाने से पहले, और कभी भी एक सीमा का सामना नहीं किया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - उपयोगकर्ता के लिए प्रवेश निषेध

  2. प्राथमिक डाउन होने पर कोडनिर्देशक द्वितीयक डेटाबेस पर स्विच करें

  3. जावास्क्रिप्ट कॉल पर mysql डेटाबेस से चुनें

  4. jQuery अद्यतन div पल एक तालिका अद्यतन किया जाता है

  5. MySQL उपनाम फ़ील्ड को एक साथ जोड़ना