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)