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

MySQL - IN कथन को परिभाषित करने के लिए संग्रहीत कार्यविधि परिणामों का उपयोग करना

आपकी वर्तमान संग्रहीत प्रक्रिया में किस प्रकार का रिटर्न प्रकार है? आप "एक सूची" की बात कर रहे हैं, तो पाठ करें?

हो सकता है कि एक आसान तरीका हो, लेकिन एक चीज जो आप कर सकते हैं (एक अन्य संग्रहीत प्रक्रिया के अंदर) एक और क्वेरी बनाना है।

ऐसा करने के लिए, हमें MySQL की दो सीमाओं के आसपास काम करने की आवश्यकता है:a) एक संग्रहीत कार्यविधि के अंदर गतिशील SQL को निष्पादित करने के लिए, इसे एक तैयार कथन होना चाहिए। b) तैयार स्टेटमेंट केवल यूजर वेरिएबल से ही बनाए जा सकते हैं। तो पूरा SQL है:

SET @the_list = myStoredProc();
SET @the_query = CONCAT('SELECT * FROM myTable WHERE columnName IN (' , @the_list , ')');
PREPARE the_statement FROM @the_query;
EXECUTE the_statement;

यदि आप एक संग्रहीत दिनचर्या से परिणाम सेट वापस करने और फिर इसे तालिका के रूप में उपयोग करने के बारे में बात कर रहे हैं, तो यह संभव नहीं है। इस सीमा के आसपास काम करने के लिए आपको एक अस्थायी तालिका बनानी होगी ।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. धाराप्रवाह NHibernate के लिए MySQL कॉन्फ़िगरेशन

  2. एक कॉलम को कैसे परिभाषित करें जो पूंजीकरण को स्वचालित कर सके?

  3. प्रति घंटे एक को छोड़कर हर रिकॉर्ड को कैसे हटाएं

  4. MySQL त्रुटि #1071 - निर्दिष्ट कुंजी बहुत लंबी थी; अधिकतम कुंजी लंबाई 767 बाइट्स है

  5. मेरी क्वेरी MySQL से आकार की गणना कैसे करें?