MySQL स्टोर्ड प्रोसीजर के अंदर CREATE TEMPORARY TABLE का उपयोग करके सत्र-विशिष्ट अस्थायी टेबल बनाएं और डेटा डालें।
सिंटैक्स
CREATE PROCEDURE yourProcedureName()
BEGIN
CREATE TEMPORARY TABLE yourTemporaryTableName SELECT yourValue;
END
उदाहरण: अस्थायी टेबल बनाने वाली प्रोसीजर
mysql> DELIMITER //
mysql> CREATE PROCEDURE create_Temporary_Table()
-> BEGIN
-> CREATE TEMPORARY TABLE tmpDemoTable SELECT 500;
-> END//
Query OK, 0 rows affected (0.15 sec)
अस्थायी टेबल में रिकॉर्ड डालने वाली प्रोसीजर
mysql> CREATE PROCEDURE insert_Record_InTempTable()
-> BEGIN
-> INSERT INTO tmpDemoTable VALUES(300);
-> END//
Query OK, 0 rows affected (0.06 sec)
mysql> DELIMITER ;
प्रोसीजर कॉल करना
mysql> CALL create_Temporary_Table(); Query OK, 1 row affected (0.00 sec) mysql> CALL insert_Record_InTempTable(); Query OK, 1 row affected (0.00 sec)
अस्थायी टेबल देखना
mysql> SELECT * FROM tmpDemoTable;
आउटपुट
+-----+ | 500 | +-----+ | 500 | | 300 | +-----+ 2 rows in set (0.00 sec)
महत्वपूर्ण विशेषताएं:
- अस्थायी टेबल केवल वर्तमान सत्र के लिए दृश्यमान होती है
- सत्र समाप्त होने पर स्वचालित रूप से ड्रॉप हो जाती है
- अलग सत्र समान नाम की अस्थायी टेबल बना सकते हैं (कोई टकराव नहीं)
CREATE TEMPORARY TABLE ... SELECTकॉलम परिभाषाएं परिणाम सेट से लेता है
स्पष्ट कॉलम परिभाषा के साथ:
CREATE TEMPORARY TABLE tmpDemoTable (
Id INT AUTO_INCREMENT PRIMARY KEY,
Value INT
);
नोट: प्रोसीजर के बाहर से अस्थायी टेबल एक्सेस नहीं की जा सकती (यदि प्रोसीजर के अंदर बनाई गई है, तो प्रोसीजर समाप्त होने के बाद भी सत्र के दौरान मौजूद रहती है)।