我们如何能通过 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)
广告