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

Mysql कई संग्रहीत प्रक्रियाओं से एक संग्रहीत कार्यविधि बनाता है

जैसा कि मुझे लगता है कि उपरोक्त सुविधा MySQL में लागू नहीं की गई है। देखें यहां अधिक जानकारी के लिए।

मैं निम्नलिखित समाधान के साथ आया था। लेकिन यकीन नहीं होता कि यह इस समस्या का सबसे अच्छा तरीका है।

DELIMITER //
CREATE PROCEDURE pro_1(IN param1 data_type,IN param2 data_type);
BEGIN
   CREATE TEMPORARY TABLE temp1 AS SELECT * FROM table_name WHERE $where1;
COMMIT;
END //
DELIMITER ;

ऊपर के रूप में आप अगले दो प्रक्रियाओं को निम्नानुसार बना सकते हैं।

DELIMITER //
CREATE PROCEDURE pro_2(IN param1 data_type,IN param2 data_type);
BEGIN
   CREATE TEMPORARY TABLE temp2 AS SELECT * FROM table_name WHERE $where2;
COMMIT;
END //
DELIMITER ;

DELIMITER //
CREATE PROCEDURE pro_3(IN param1 data_type,IN param2 data_type);
BEGIN
   CREATE TEMPORARY TABLE temp3 AS SELECT * FROM table_name WHERE $where3;
COMMIT;
END //
DELIMITER ;

तो निम्नलिखित मास्टर प्रक्रिया है जो उपरोक्त 3 प्रक्रियाओं का संघ है।

DELIMITER //
CREATE PROCEDURE master_pro(IN param1 data_type,IN param2 data_type);
BEGIN
   CALL pro_1(param1,param2);
   CALL pro_2(param1,param2);
   CALL pro_3(param1,param2);
   CREATE TEMPORARY TABLE master_temp AS (SELECT * FROM temp1) UNION ALL (SELECT *  FROM temp2) UNION ALL (SELECT * FROM temp3);
COMMIT;
END //
DELIMITER ;

तो अंत में यदि आप मास्टर प्रक्रिया से कोई अन्य परिणाम प्राप्त करना चाहते हैं तो आप निम्नानुसार कर सकते हैं।

DELIMITER //
CREATE PROCEDURE another_pro(IN param1 data_type,IN param2 data_type);
BEGIN
   CALL master_pro(param1,param2);
   SELECT columns_from_master_temp FROM master_temp WHERE where_clause;
COMMIT;
END //
DELIMITER ;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या कोई Android ऐप सीधे किसी ऑनलाइन mysql डेटाबेस से कनेक्ट हो सकता है?

  2. SSH टनलिंग के माध्यम से Python को MySQL से कनेक्ट करने में सक्षम करें

  3. MySQL में अद्वितीय कैसे छोड़ें?

  4. डीबी डेटटाइम स्ट्रिंग में डालें

  5. android/php रिकॉर्ड mysql में सम्मिलित नहीं हो रहा है