我们如何通过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//

现在使用表名调用该过程,我们需要对其作为参数进行访问。

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)
猜你喜欢