यदि आप पहचानकर्ताओं का उपयोग करके एक 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;