Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 저장 프로시저에서 현재 데이터베이스 이름을 가져오는 방법

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() 함수를 활용하면 저장 프로시저 내부에서도 별도의 설정 없이 간단하게 현재 데이터베이스 이름을 조회할 수 있습니다.