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

पैरामीटर के साथ MySQL में एक प्रक्रिया बनाएं?

<घंटा/>

आप IN और OUT का उपयोग करके एक पैरामीटर बना सकते हैं। IN का उपयोग इनपुट पैरामीटर लेने के लिए किया जाता है और OUT का उपयोग आउटपुट के लिए किया जा सकता है।

वाक्य रचना इस प्रकार है

DELIMITER // अपना प्रक्रिया नाम बनाएं (आपके पैरामीटर नाम डेटा प्रकार में, अपने पैरामीटर नाम डेटा प्रकार से बाहर) BEGINyourStatement1;yourStatement2;..NEND;//DELIMITER;

सबसे पहले, हम एक टेबल बनाएंगे। तालिका बनाने की क्वेरी इस प्रकार है

mysql> तालिका बनाएं SumOfAll -> ( -> राशि int -> );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.78 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है

mysql> SumOfAll मानों (100) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> SumOfAll मानों में डालें (330); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड) mysql> SumOfAll मानों में डालें ( 450);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड)mysql> SumOfAll मान (400) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है

mysql> SumOfAll से *चुनें;

निम्न आउटपुट है

<पूर्व>+--------+| राशि |+-----+| 100 || 330 || 450 || 400 |+----------+4 पंक्तियाँ सेट में (0.00 सेकंड)

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

संग्रहित प्रक्रिया इस प्रकार है

mysql> DELIMITER //mysql> प्रक्रिया बनाएं sp_ChechValue(IN value1 int, OUT value2 int) -> start -> set value2=(SumOfAll से Amount चुनें जहां Amount=value1); -> अंत; ->//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.20 सेकंड)mysql> सीमांकक;

आइए हम संग्रहीत कार्यविधि को कुछ मान के साथ कॉल करें और आउटपुट को सत्र चर में संग्रहीत करें।

केस 1:जब मान तालिका में मौजूद न हो।

mysql> कॉल sp_ChechValue(300,@isPresent);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

अब सेलेक्ट स्टेटमेंट का उपयोग करके वेरिएबल @isPresent में वैल्यू चेक करें। क्वेरी इस प्रकार है

mysql> @isPresent चुनें;

निम्न आउटपुट है

<पूर्व>+---------------+| @isPresent |+---------------+| NULL |+---------------+1 पंक्ति सेट में (0.00 सेकंड)

केस 2:जब मान मौजूद हो।

क्वेरी इस प्रकार है। आइए हम संग्रहीत कार्यविधि को कॉल करें

mysql> कॉल sp_ChechValue(330,@isPresent);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

सत्र चर @isPresent के मान की जाँच करें। क्वेरी इस प्रकार है

mysql> @isPresent चुनें;

निम्न आउटपुट है

<पूर्व>+---------------+| @isPresent |+---------------+| 330 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)
  1. DECLARE कीवर्ड के साथ MySQL संग्रहीत कार्यविधि में चर बनाएँ

    संग्रहीत कार्यविधि में चर के लिए MySQL DECLARE का उपयोग करें - किसी भी वैरिएबलनाम को डिक्लेयर करें, किसी भी वैल्यू को डिफॉल्ट करें; संग्रहीत प्रक्रिया में चर बनाने के लिए उपरोक्त सिंटैक्स को लागू करें - DELIMITER; अब आप कॉल कमांड का उपयोग करके उपरोक्त संग्रहीत कार्यविधि को कॉल कर सकते हैं - कॉल

  1. MySQL में एक चयन क्वेरी के साथ सम्मिलित करें

    सेलेक्ट क्वेरी के साथ इन्सर्ट के लिए, सिंटैक्स इस प्रकार है - insert into yourTableName(yourColumnName1,yourColumnName2,yourColumnName3,...N) select yourValue1,yourValue2,yourValue3,......N; आइए पहले एक टेबल बनाएं - mysql> create table DemoTable1603    -> (    -> Studen

  1. MySQL में मैन्युअल AUTO_INCREMENT प्रारंभ मान के साथ तालिका क्वेरी बनाएं?

    आइए पहले एक टेबल बनाएं - तालिका बनाएँ DemoTable1907 ( UserId int NOT NULL AUTO_INCREMENT, UserName varchar(20), UserAge int, UserCountryName varchar(20), PRIMARY KEY(UserId) ) Engine=MyISAM,AUTO_INCREMENT=100;क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ