DB 껍데기만 나두고 테이블, 프로시저, 뷰를 모두 삭제 할때
먼저 테이블, 뷰, 프로시저, 함수 리스트는 다음과 같다.
-- 테이블 리스트 SELECT name FROM sys.tables; SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE' -- 뷰리스트 SELECT name FROM sys.views; SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='VIEW' -- 프로시저 리스트 SELECT name FROM sys.procedures; SELECT SPECIFIC_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE='PROCEDURE'; -- 함수 리스트 SELECT SPECIFIC_NAME FROM INFORMATION_SCHEMA.ROUTINES where ROUTINE_TYPE='FUNCTION'; -- 삭제할 테이블 문자열 만들기 SELECT 'DROP TABLE ' + name FROM sys.tables; | cs |
여기에 DROP TABLE~ 을 붙여서 "삭제할 테이블 문자열" 을 만든다.
SELECT 'DROP TABLE ' + name
FROM sys.tables;
쿼리 결과를 복사해서 실행하면 모든 테이블이 삭제된다.
마찬가지로 뷰, 프로시저, 함수도 같은 방법으로 처리하면 된다.
DROP VIEW~
DROP PROCEDURE~
DROP FUNCTION~
'SQL Server' 카테고리의 다른 글
연령대별 인원수 구하기 (0) | 2018.01.13 |
---|---|
조인하여 DELETE FROM 하기, Transact-SQL FROM 확장을 통해 삭제 (0) | 2018.01.04 |
월의 첫날, 월의 말일, 년의 첫날, 년의 말일, 문자열 일(DD)이 없는 달은 말일구하기 (0) | 2017.12.05 |
ORDER BY 없이 현재 보이는 순서대로 ROW_NUMBER() 구하기 (0) | 2017.11.30 |
sys.sysprocesses 시스템뷰 의 net_address(맥어드레스) 부정확함 (0) | 2017.03.18 |