저장 프로시저 내에서 현재 데이터베이스 이름을 얻으려면 DATABASE() 함수를 사용합니다.
저장 프로시저 생성
mysql> DELIMITER //
mysql> CREATE PROCEDURE get_procedure_database_name()
-> BEGIN
-> SELECT CONCAT('The database name=', DATABASE());
-> END
-> //
Query OK, 0 rows affected (0.34 sec)
mysql> DELIMITER ;
프로시저 호출
mysql> CALL get_procedure_database_name();
+-----------------------------------------+
| CONCAT('The database name=', DATABASE()) |
+-----------------------------------------+
| The database name=web |
+-----------------------------------------+
1 row in set (0.05 sec)
참고: DATABASE() 또는 SCHEMA()는 현재 세션의 기본 데이터베이스 이름을 반환합니다. SELECT DATABASE()만 실행해도 됩니다. 프로시저 내부에서 동적 SQL을 구성할 때 유용합니다.