답변:
T-SQL에서 직접 사용하지 않는 이유는 DROP TABLE
무엇입니까? 그런 다음 적절한 SQL 스크립트를 작성하고 (삭제 해야하는 테이블 목록이 있으면 자동 생성 가능) 그냥 있습니다.
제안 된대로 Tsql 답변. 드롭 테이블을 tsql에서 작동시킬 수 없었지만 이것은 트릭을 수행했습니다.
declare @TABLE varchar(250)
declare select_cursor cursor for
select name from sysobjects where type='U'
open select_cursor
fetch next from select_cursor
into @TABLE
while @@FETCH_STATUS = 0
begin
print 'DROP TABLE '+@TABLE
fetch next from select_cursor
into @TABLE
end
close select_cursor
deallocate select_cursor
여러 테이블을 반복하고 다음을 실행하여 여러 테이블을 삭제할 수 있습니다.
EXEC sp_MSforeachtable @command1 = "DROP TABLE ?"
그러나 외래 키로 참조되는 테이블을 삭제하려고하면 다음과 같은 오류가 발생합니다.
Msg 3726, Level 16, State 1, Line 1
Could not drop object 'dbo.Table1' because it is referenced by a FOREIGN KEY constraint.
수동으로 수행하려면 참조가있는 테이블이 삭제 될 때까지 명령문을 몇 번 반복하십시오 (예 : Table2에 Table1에 대한 참조가있는 경우 처음 실행하면 Table2를 삭제하는 동안 Table1을 삭제할 수 없으며 두 번째로 그런 다음 Table2가 더 이상 없기 때문에 실행 Table1을 삭제할 수 있습니다.