본문 바로가기

MSSQL

복수개의 TABLE을 동시에 지우기 MSSQL

728x90
 

복수개의 TABLE을 지우기 위해

하나하나 drop table [TABLE]을 실행시키고 있을 순 없다.

TABLE이 몇십개, 혹은 몇백개라면……………

 

)

MD_TABLE1;

 MD_TABLE2 

MD_TABLE3;

 MD_TABLE4;

MD_TABLE5;

………중략

 

복수개의 TABLE을 동시에 지우기 위해서

 

 

 

select 'drop table '||table_name||';' from user_tables where table_name like 'MD_%';

 

다음과 같이 중복되는 부분의 TABLE 명 일부분을 like절에 넣고

select문에 drop 쿼리문을 결합시켜 뽑아낸다.

 

 

 

 

아래는 excute가 되기때에.. 바로 삭제됨.  

 

drop table * 또는 all 이렇게 해서 지워지면 좋겠지만 안되는 방법이니 다른 방법을 써야 합니다.
Mysql 에서 데이터베스는 놔두고 테이블만을 일괄 적으로 삭제할때 사용하기 좋은 방법입니다.

myslq 에서 접속을 하고 난 후 실행 하시면 됩니다.

SET @tables = NULL;
 SELECT GROUP_CONCAT(table_schema, '.', table_name) INTO @tables
   FROM information_schema.tables 
   WHERE table_schema = 'DB명'; -- specify DB name here.
 SET @tables = CONCAT('DROP TABLE ', @tables);
 PREPARE stmt FROM @tables;
 EXECUTE stmt;
 DEALLOCATE PREPARE stmt;
 
728x90

'MSSQL' 카테고리의 다른 글

mssql-테이블 복사 신규생성복사 컬럼복사  (1) 2013.12.05
SELECT 와 INSERT 동시 처리  (0) 2013.10.17