SQL Server

테이블, 뷰, 프로시저, 함수 일괄삭제

미스터몽키 2018. 1. 4. 13:04

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~