MySQL에서 현재 데이터베이스 이름 확인하기
MySQL에서 현재 선택되어 있는 데이터베이스의 이름을 확인하려면 DATABASE() 함수를 사용하면 됩니다. 기본적인 사용 문법은 다음과 같습니다.
select database();
저장 프로시저에 구현하기
이제 위 문법을 실제 저장 프로시저 내부에 구현해 보겠습니다. 먼저 DELIMITER를 변경한 뒤 프로시저를 생성하고, 다시 원래 구분자로 되돌립니다.
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 ;
저장 프로시저 호출하기
생성된 저장 프로시저는 CALL 명령어를 사용하여 호출할 수 있습니다.
mysql> call get_procedure_database_name();
위 명령을 실행하면 다음과 같은 결과가 출력됩니다.
+-----------------------------------------+
| concat('The database name=',database()) |
+-----------------------------------------+
| The database name=web |
+-----------------------------------------+
1 row in set (0.05 sec)
Query OK, 0 rows affected (0.08 sec)
실행 결과를 보면 현재 세션에서 선택된 데이터베이스 이름이 web임을 확인할 수 있습니다. 이처럼 DATABASE() 함수를 활용하면 저장 프로시저 내부에서도 별도의 설정 없이 간단하게 현재 데이터베이스 이름을 조회할 수 있습니다.