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

Mysql संग्रहीत कार्यविधि तालिका नाम को पैरामीटर के रूप में नहीं लेती है

एक SP को गतिशील तालिका नाम के साथ अनुकूलित नहीं किया जा सकता है, इतने सारे DB, MySQL शामिल हैं, तालिका नामों को गतिशील रूप से निर्दिष्ट करने की अनुमति नहीं देते हैं।

इसका एक तरीका डायनेमिक SQL का उपयोग करना है।

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_proc`(IN serviceName VARCHAR(10),IN newsInfoTable VARCHAR(100))
BEGIN                  
    SET @sql = CONCAT('SELECT COUNT(*) FROM ',newsInfoTable,' WHERE newsServiceName=?;'); 
    PREPARE s1 from @sql;
    SET @paramA = serviceName;
    EXECUTE s1 USING @paramA;
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. पंक्तियों को लाना जिसका मान दिया गया है जो दी गई शर्त के साथ दो पंक्तियों के बीच स्थित है

  3. सी ++ से कनेक्ट होने वाले एसक्यूएल में सरणी तत्व कैसे सम्मिलित करें?

  4. MySQL में सरणी संग्रहीत करना?

  5. त्रुटि 1206 जब भी किसी तालिका से रिकॉर्ड हटाने का प्रयास किया जा रहा है