MS-SQL 에서 테이블의 존재 유무는 information_schema 의 tables 테이블에서 확인할 수 있습니다.
예를들어 dbo 스키마, mozi 테이블을 확인하는 방법입니다.
1 2 3 4 | SELECT * FROM INFORMATION_SCHEMA.tables WITH(NOLOCK) WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'mozi' | cs |
그럼 이제 테이블의 존재 유무를 확인해서 있는경우 DROP & CREATE 하는 방법을 해보겠습니다.
1 2 3 4 5 6 7 8 9 10 | IF EXISTS ( SELECT * FROM INFORMATION_SCHEMA.tables WITH(NOLOCK) WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'mozi' ) exec('DROP TABLE [dbo].[mozi]') GO GO CREATE TABLE dbo.mozi ( C1 INT PRIMARY KEY, C2 VARCHAR(50), C3 datetime NOT NULL ) | cs |
혹은 IF NOT EXISTS 를 사용한 후, DROP 대신 CREATE를 작성할 수도 있습니다.
'SQL Server > SQL Server 자주보는' 카테고리의 다른 글
[MSSQL] TempDB 를 사용하는 쿼리 찾기 (0) | 2020.02.09 |
---|---|
[MSSQL] 테이블 컬럼조회하기 (오라클의 DESC) (0) | 2019.03.28 |
[MSSQL] 서버, 인스턴스, 데이터베이스 명 확인하기 (0) | 2019.03.28 |
[MSSQL] 모든 데이터베이스에 접속하여 쿼리를 날리는 방법 (0) | 2019.03.26 |
[MsSQL] sp_readerrorlog, xp_readerrorlog 를 사용하여 구동 시점에서부터 오류만 뽑아오기 (0) | 2019.03.20 |