我们如何通过 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 次浏览

启动你的职业生涯

完成课程获得认证

立即开始
广告