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

MySQL संग्रहीत कार्यविधि DEFINER=`root`@`%` स्थानीय होस्ट में काम नहीं कर रहा है?

<घंटा/>

सबसे पहले, आपको होस्ट की जांच करने की आवश्यकता है। होस्ट 'लोकलहोस्ट' या '%' हो सकता है। होस्ट के साथ उपयोगकर्ता खातों के अस्तित्व की जाँच करें -

mysql> उपयोगकर्ता का चयन करें, MySQL.user से होस्ट करें;

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+---------------------+----------+| उपयोगकर्ता | मेजबान |+---------------------+-----------+| बॉब | % || User2 | % || mysql.infoschema | % || mysql.session | % || mysql.sys | % || जड़ | % || @उपयोगकर्ता नाम@ | लोकलहोस्ट || एडम स्मिथ | लोकलहोस्ट || डेविड | लोकलहोस्ट || जेम्स | लोकलहोस्ट || जॉन | लोकलहोस्ट || जॉन डो | लोकलहोस्ट || User1 | लोकलहोस्ट || हूँ | लोकलहोस्ट || एचबीस्टूडेंट | लोकलहोस्ट || mysql.infoschema | लोकलहोस्ट || mysql.session | लोकलहोस्ट |+---------------------+----------+17 पंक्तियाँ सेट में (0.00 सेकंड)

अब, हम उपयोगकर्ता बॉब के लिए निश्चित बदलने जा रहे हैं और होस्ट '%' है। निश्चित के साथ एक संग्रहीत कार्यविधि बनाने की क्वेरी निम्नलिखित है -

mysql> DELIMITER // mysql> CREATE DEFINER=`Bob`@`%` प्रक्रिया `Message`() BEGIN "Hello World" चुनें; END // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.14 सेकंड)mysql> DELIMITER;

अब कॉल कमांड की मदद से स्टोर की गई प्रक्रिया को कॉल करें -

mysql> कॉल `Message`();

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

<पूर्व>+---------------+| हैलो वर्ल्ड |+---------------+| हेलो वर्ल्ड |+---------------+1 पंक्ति सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)
  1. MySQL संग्रहीत कार्यविधि में WHERE IN () के साथ कार्य करना

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (102, डेविड); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से * चुनें;

  1. एक MySQL संग्रहीत प्रक्रिया में गणितीय संचालन करें?

    आइए एक संग्रहित प्रक्रिया बनाएं। यहां, हम राशि*मात्रा की गणना कर रहे हैं यानी गणितीय संक्रियाओं को लागू करना - सीमांकक; अब आप कॉल कमांड का उपयोग करके एक संग्रहीत कार्यविधि को कॉल कर सकते हैं - कॉल कैलकुलेशन_proc(250,3); यह निम्नलिखित आउटपुट देगा - +----------+----------+----------+| राशि | मात्र

  1. MySQL संग्रहीत कार्यविधि में किसी तालिका में डेटा सम्मिलित करें?

    संग्रहीत कार्यविधि में तालिका में सम्मिलित करने के लिए, सिंटैक्स इस प्रकार है - create procedure yourProcedureName(OptionalParameter)    begin    insert into yourTableName() values(yourValue1,yourValue2,...N); end में डालें ऊपर दिए गए सिंटैक्स को समझने के लिए, आइए पहले एक टेबल ब