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

संग्रहीत कार्यविधि फ़ंक्शन में गतिशील तालिका नाम

यदि आप पहचानकर्ताओं का उपयोग करके एक SQL कथन को उभारना चाहते हैं, तो आपको तैयार कथनों का उपयोग करने की आवश्यकता है; लेकिन तैयार बयानों का उपयोग कार्यों में नहीं किया जा सकता है। तो, आप OUT पैरामीटर के साथ एक संग्रहीत कार्यविधि बना सकते हैं -

CREATE PROCEDURE getName
 (IN tableName VARCHAR(50), IN myId INT(11), OUT myName VARCHAR(50))
BEGIN

  SET @GetName =
    CONCAT('SELECT name INTO @var1 FROM ', tableName, ' WHERE id=', myId);
  PREPARE stmt FROM @GetName;
  EXECUTE stmt;

  SET myName = @var1;
END

उदाहरण का उपयोग करना -

SET @tableName = 'tbl';
SET @myId = 1005;
SET @name = NULL;
CALL getName(@tableName, @myId, @name);
SELECT @name;



  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 में उद्धरणों से बचते हुए बैकस्लैश को कैसे बनाए रखें - QUOTE ()

  2. JPA के साथ जावा दिनांक को Mysql डेटाटाइम में कैसे संग्रहीत करें?

  3. MySQL में इंटरसेक्ट करने का विकल्प

  4. Django:तालिका मौजूद नहीं है

  5. LIMIT क्लॉज में बाइंडवैल्यू विधि कैसे लागू करें?