MSSQL | DROP DATABASE IF EXISTS 구현하기

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를 활용하여, 데이터베이스를 삭제할 수 있습니다.

!@#끝!@#

(출처 및 더보기)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다