MSSQL




MSSQL, 저장 프로시저, 문법


비슷한 이름의 테이블 반복문 활용하여 지우기.



상황은 테이블이 숫자를 활용한 비슷한 이름으로 만들어져 있는데,


하나하나 지우기 너무 힘드니... SQL 문법을 활용하여 지우려고 하는 상황.



테이블 이름이...


TB1

TB2

TB3

...

...

TB1000 


으로 되어있다...



지우기 위한

쿼리문

↓↓↓↓↓↓↓


DECLARE @ITER INT

DECLARE @QUERY VARCHAR(4000)

SET @ITER=1

SELECT @ITER   --ITER값 그냥 출력으로 확인해봄...


WHILE @ITER < 1001    --@ITER 변수값을 1~ 1000 으로 변경시키면서 반복문 돌리기

BEGIN  

SET @QUERY='DROP TABLE [TB' + CONVERT(varchar(4),@ITER) +']'    --DROP TABLE [테이블명] 

--@QUERY 쿼리문에 @ITER값 붙이기. @ITER은 INT이므로 문자형으로 바꿔서 추가하기

EXEC(@QUERY)             --@QUERY 수행시키기

SET @ITER=@ITER+1     --@ITER 값 1씩 증가시키는 부분

END




↑↑↑↑↑↑↑

BEGIN

END

빼먹으면 안됨!!


+쿼리수행 범위가 현재 해당 Database로 잡혀있기 때문에 테이블명만 넣었기 때문에

일반적인 형식으로 전체를 다 작성한다고 보면

DROP Table [DataBaseName].[dbo].[TB1]   

이와 같이 풀로 다 넣어야 한다.

Posted by 초올싹
,