नहीं, यह संभव नहीं है। PREPARE / EXECUTE stmt
एक समय में केवल एक क्वेरी निष्पादित कर सकता है, कई कथनों को जोड़ा नहीं जा सकता है।
दस्तावेज देखें:http://dev.mysql. com/doc/refman/5.0/hi/prepare.html
वैसे भी, आपके कोड को सरल बनाने के लिए मैं एक सरल प्रक्रिया बनाऊंगा:
CREATE PROCEDURE exec_qry( p_sql varchar(100))
BEGIN
SET @tquery = p_sql;
PREPARE stmt FROM @tquery;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
/
और मैं इस प्रक्रिया को मुख्य प्रक्रिया में इस तरह से बुलाऊंगा:
CALL exec_qry( 'CREATE TABLE t2 AS SELECT * FROM test');
CALL exec_qry( 'SELECT * FROM t2');
CALL exec_qry( 'SELECT count(*) FROM t2');
CALL exec_qry( 'SELECT avg(x) FROM t2');
CALL exec_qry( 'DROP TABLE t2');
एक डेमो पर एक नज़र डालें:http://www.sqlfiddle.com/#! 2/6649a/6