我们可以从 MySQL 存储过程访问一个或所有表。以下是一个示例,其中我们创建了一个存储过程,它将接受表的名称作为参数,并在调用它后,将生成包含表中所有详细信息的结果集。
示例
mysql> Delimiter //
mysql> Create procedure access(tablename varchar(30))
-> BEGIN
-> SET @X := CONCAT('Select * from',' ',tablename);
-> Prepare statement from @X;
-> Execute statement;
-> END//
Query OK, 0 rows affected (0.16 sec)现在使用我们需要访问的表名称作为其参数来调用该过程。
mysql> Delimiter ; mysql> Callaccess('student_info'); +------+---------+----------+------------+ | id | Name | Address | Subject | +------+---------+----------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 125 | Raman | Shimla | Computers | +------+---------+----------+------------+ 3 rows in set (0.02 sec) Query OK, 0 rows affected (0.04 sec)

access('student_info');
+------+---------+----------+------------+
| id | Name | Address | Subject |
+------+---------+----------+------------+
| 101 | YashPal | Amritsar | History |
| 105 | Gaurav | Jaipur | Literature |
| 125 | Raman | Shimla | Computers |
+------+---------+----------+------------+
3 rows in set (0.02 sec)
Query OK, 0 rows affected (0.04 sec)






