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

केवल SQL कथन का उपयोग करके वाइल्डकार्ड के साथ mySQL ड्रॉप टेबल?

संग्रहीत प्रक्रिया के अंदर आप इसे करने के लिए गतिशील एसक्यूएल का उपयोग कर सकते हैं। यह कुछ इस तरह दिखाई देगा (अनचाहे):

CREATE PROCEDURE drop_like (IN pattern VARCHAR(64))
BEGIN
  DECLARE q tinytext;
  DECLARE done INT DEFAULT FALSE;
  DECLARE cur CURSOR FOR
    SELECT CONCAT('DROP TABLE "', table_schema, '"."', table_name, '"')
    FROM information_schema.tables WHERE table_type = 'BASE TABLE' AND table_name LIKE pattern;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  OPEN cur;

  drop_loop: LOOP
    FETCH cur INTO q;
    IF done THEN
      LEAVE drop_loop;
    END IF;
    PREPARE stmt FROM @q;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
  END LOOP;
  CLOSE cur;
END;


  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. एकल SQL क्वेरी में एकाधिक पंक्तियाँ कैसे सम्मिलित करें - सप्ताह का साक्षात्कार प्रश्न #069

  3. mysql 2 टेबल, 2 कॉलम में शामिल हों

  4. user_id द्वारा समूह कैसे करें और desc . द्वारा आदेश दें

  5. दिनांक सीमा और विशिष्ट समय सीमा के बीच चयन करें