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

@ संग्रहित प्रक्रिया में प्रतीक?

@variable MySQL में सिंटैक्स उपयोगकर्ता द्वारा परिभाषित सत्र चर को दर्शाता है। आप इन उपयोगकर्ता चर को एक संग्रहीत कार्यविधि के बाहर सेट कर सकते हैं, लेकिन आप उन्हें एक संग्रहीत कार्यविधि के अंदर भी सेट कर सकते हैं, और प्रभाव यह है कि चर आपकी प्रक्रिया कॉल रिटर्न के बाद मान को बरकरार रखता है।

तो आपके उदाहरण में, निम्नलिखित भी वही काम करेंगे:

CREATE PROCEDURE emp_count_2()
BEGIN
 SELECT COUNT(*) INTO @empCount FROM Employee;
END

CALL emp_count_2(); /* sets @empCount as a side-effect */
SELECT @empCount;

कई सत्रों के लिए उपयोगकर्ता चर को एक साथ इस तरह से सेट करना ठीक है, क्योंकि उपयोगकर्ता चर एक ही सत्र के दायरे में हैं, और समवर्ती सत्रों में एक ही नाम के चर हो सकते हैं, लेकिन अलग-अलग मानों के साथ।

@ उपसर्ग के साथ चर सिंटैक्स, प्रक्रिया के लिए स्थानीय चर के लिए है, या तो प्रक्रिया पैरामीटर, या फिर घोषणा प्रक्रिया निकाय के भीतर।

यदि आप किसी प्रक्रिया को कई बार कॉल करना चाहते हैं और परिणाम को अलग-अलग उपयोगकर्ता चर में संग्रहीत करना चाहते हैं तो यह उपयोग आपके पास है, एक उपयोगकर्ता चर को एक पैरामीटर के रूप में पारित करना और इसे प्रक्रिया के मुख्य भाग में निर्दिष्ट करना उपयोगी है। अन्यथा प्रक्रिया के लिए प्रत्येक कॉल वर्तमान सत्र के लिए @empCount उपयोगकर्ता चर में पिछले मान को अधिलेखित कर देगी।




  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. MySQL MOD () फ़ंक्शन - MySQL में एक मोडुलो ऑपरेशन करें

  3. SQL - वर्तमान तिथि के निकटतम तिथि का पता लगाएं

  4. mysql में प्रति समूह n पंक्तियों का चयन करें

  5. osx पर jdbc का उपयोग करके जावा को mysql से कनेक्ट करें