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~