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

रूटीन के लिए संग्रहीत प्रक्रिया त्रुटि तर्क 1 ... ट्रिगर से पहले एक चर या नया छद्म-चर नहीं है

मुझे लगता है कि समस्या आपके कॉल टू प्रोसेस में है।

MySQL कनेक्टर के संस्करणों के साथ जो OUT . का समर्थन नहीं करते हैं पैरामीटर, सामान्य समाधान यह है कि वापसी मान रखने के लिए MySQL उपयोगकर्ता चर का उपयोग करें, और फिर उन चरों के मान प्राप्त करने के लिए एक क्वेरी चलाएँ।

सबसे पहले, संग्रहीत कार्यविधि को निष्पादित करें, और MySQL ने OUT तर्कों के मानों को चरों में रखा है:

CALL `Get_Next_Processing_Video`(@IDVideo, @YoutubeIDVideo);

ध्यान दें कि वे चर कमांड पैरामीटर नहीं हैं; वे वेरिएबल हैं जो MySQL सत्र में आयोजित किए जाते हैं। प्रक्रिया के लिए कॉल के तुरंत बाद, उसी MySQL कनेक्शन का उपयोग करके उन चरों के मान प्राप्त करने के लिए:

SELECT @IDVideo, @YoutubeIDVideo ;

और उस क्वेरी से परिणाम सेट को संसाधित करें जैसे आप किसी अन्य चयन कथन को चाहते हैं जिसे आप एक पंक्ति वापस करने की उम्मीद करते हैं।

अपडेट करें:

MySQL कनेक्टर के हाल के संस्करणों के साथ जो आउट पैरामीटर का समर्थन करते हैं, मुझे लगता है कि आपको यह निर्दिष्ट करने की आवश्यकता है कि सदस्य विशेषता सेट करके वे पैरामीटर आउट पैरामीटर हैं:

cmd.Parameters["out_IDVideo"].Direction = ParameterDirection.Output;
cmd.Parameters["out_YoutubeIDVideo"].Direction = ParameterDirection.Output;

जैसा कि मैंने पहले बताया...

MySQL कनेक्टर के पुराने संस्करणों में जो OUT मापदंडों का समर्थन नहीं करते थे, समाधान यह था कि MySQL वेरिएबल्स को तर्क के रूप में उपयोग करके प्रक्रिया को कॉल किया जाए। प्रक्रिया कॉल से लौटाए गए मान MySQL सत्र में बनाए रखा जाता है। प्रक्रिया को कॉल करने के तुरंत बाद, हम उपयोगकर्ता चर की सामग्री को पुनः प्राप्त करने के लिए एक SELECT चलाएंगे।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में टेबल जॉइन की अधिकतम संख्या क्या है?

  2. MySQL में हेक्साडेसिमल मानों को बाइनरी के रूप में संग्रहीत करना

  3. MySQL 5.7/8.0 बनाम MySQL 5.6 में प्रत्येक बार-बार चयन के लिए सबक्वायरी के रैंड () कॉलम का पुनर्मूल्यांकन किया गया

  4. ट्रिगर mysql से परिणामसेट वापस करने की अनुमति नहीं है

  5. asp.net का उपयोग करके mySQL डेटाबेस से कनेक्ट करना