我们如何能通过 MySQL 存储过程访问表?


我们能从 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> Call 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)

更新时间:2020 年 6 月 22 日

312 次浏览

开启您的 职业生涯

完成课程获得认证

开始学习
广告