SQL Server 2008 delete all tables under special schema

后端 未结 13 1648
广开言路
广开言路 2021-01-30 01:02

Hello I would like to know is is possible to drop all tables in database what was created under custom schema for example DBO1...with one sql query or special script.

T

13条回答
  •  误落风尘
    2021-01-30 01:30

    This will generate all the DROP TABLE and DROP VIEW with check exists.

    DECLARE @SqlStatement NVARCHAR(MAX)
    
    SELECT @SqlStatement = 
    COALESCE(@SqlStatement, N'') + N'IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'''+'['+TABLE_SCHEMA+'].' + QUOTENAME(TABLE_NAME) +''' )' + CHAR(13)+
     '  DROP '+ TABLE_TYPE +' ['+TABLE_SCHEMA+'].' + QUOTENAME(TABLE_NAME) + N';' + CHAR(13)
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA in ('SCHEMA1','SCHEMA2','SCHEMA13' )
    ORDER BY TABLE_SCHEMA   
    
    PRINT  REPLACE(@SqlStatement,'DROP BASE TABLE ','DROP TABLE ') 
    GO
    

提交回复
热议问题