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)