MySQL फंक्शन से टेबल नहीं लौटा सकते। फंक्शन स्ट्रिंग, इंटीजर, चार आदि लौटा सकता है। MySQL से टेबल लौटाने के लिए स्टोर्ड प्रोसीजर का उपयोग करें, फंक्शन नहीं।
उदाहरण
टेबल बनाएं:
mysql> create table DemoTable696 (
-> Id int,
-> Name varchar(100)
-> );
Query OK, 0 rows affected (0.77 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable696 values(100, 'Mike'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable696 values(101, 'Sam'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable696 values(102, 'Adam'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable696 values(103, 'Carol'); Query OK, 1 row affected (0.20 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable696;
आउटपुट
+------+-------+ | Id | Name | +------+-------+ | 100 | Mike | | 101 | Sam | | 102 | Adam | | 103 | Carol | +------+-------+ 4 rows in set (0.00 sec)
MySQL से टेबल लौटाने के लिए स्टोर्ड प्रोसीजर:
mysql> DELIMITER //
mysql> CREATE PROCEDURE getResultSet(studId int)
-> BEGIN
-> select * from DemoTable696 where Id = studId;
-> END
-> //
Query OK, 0 rows affected (0.14 sec)
mysql> DELIMITER ;
स्टोर्ड प्रोसीजर कॉल करें:
mysql> call getResultSet(103);
आउटपुट
+------+-------+ | Id | Name | +------+-------+ | 103 | Carol | +------+-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
मुख्य अंतर: फंक्शन स्केलर मान लौटाता है, प्रोसीजर रिजल्ट सेट लौटा सकता है।