1.개요 – MSSQL | DROP DATABSE IF EXISTS 구현하기
MSSQL(SQL Server)에서 MYSQL 같이 쿼리로 데이터베이스를 삭제하는 방법을 알아보겠습니다.
MSSQL에서는 “IF EXISTS” 라는 문법이 DROP DATABASE 에는 없습니다. 따라서 다음과 같이 정의해야 합니다.
2.MySQL –> MSSQL
-- MySQL 'test_db' 라는 데이터베이스가 삭제된다.
DROP DATABASE IF EXISTS `test_db`;
MySQL 에서는 위와 같은 쿼리를 MSSQL 에서는 아래와 같습니다.
-- MSSQL 'test_db' 라는 데이터베이스가 삭제된다.
IF EXISTS (SELECT * FROM sys.databases WHERE name = 'test_db')
BEGIN
ALTER DATABASE [test_db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [test_db];
END
3.결과
MSSQL에서 데이터베이스가 존재하면, 모든 활성 연결을 끊고 해당 데이터베이스를 ‘SINGLE_USER’ 모드로 설정합니다. 이렇게 하면 현재 세션에서만 데이터베이스에 접근할 수 있습니다.
그 후, DROP DATABASE를 활용하여, 데이터베이스를 삭제할 수 있습니다.
!@#끝!@#
(출처 및 더보기)
- MSSQL | CREATE DATABSE IF NOT EXISTS 구현하기 – https://wednesday1304.com/mssql-create-database-if-not-exists/