SQL Server delete all tables

来源:互联网 发布:雷欧mac全灭图解 编辑:程序博客网 时间:2024/06/06 08:31
/* Drop all non-system stored procs */DECLARE @name VARCHAR(128)DECLARE @SQL VARCHAR(254)SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])WHILE @name is not nullBEGIN    SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'    EXEC (@SQL)    PRINT 'Dropped Procedure: ' + @name    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])ENDGO/* Drop all views */DECLARE @name VARCHAR(128)DECLARE @SQL VARCHAR(254)SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])WHILE @name IS NOT NULLBEGIN    SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'    EXEC (@SQL)    PRINT 'Dropped View: ' + @name    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])ENDGO/* Drop all functions */DECLARE @name VARCHAR(128)DECLARE @SQL VARCHAR(254)SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 ORDER BY [name])WHILE @name IS NOT NULLBEGIN    SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'    EXEC (@SQL)    PRINT 'Dropped Function: ' + @name    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT') AND category = 0 AND [name] > @name ORDER BY [name])ENDGO/* Drop all Foreign Key constraints */DECLARE @name VARCHAR(128)DECLARE @constraint VARCHAR(254)DECLARE @SQL VARCHAR(254)SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)WHILE @name is not nullBEGIN    SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)    WHILE @constraint IS NOT NULL    BEGIN        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'        EXEC (@SQL)        PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name        SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)    ENDSELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)ENDGO/* Drop all Primary Key constraints */DECLARE @name VARCHAR(128)DECLARE @constraint VARCHAR(254)DECLARE @SQL VARCHAR(254)SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)WHILE @name IS NOT NULLBEGIN    SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)    WHILE @constraint is not null    BEGIN        SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'        EXEC (@SQL)        PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name        SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)    ENDSELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)ENDGO/* Drop all tables */DECLARE @name VARCHAR(128)DECLARE @SQL VARCHAR(254)SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])WHILE @name IS NOT NULLBEGIN    SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'    EXEC (@SQL)    PRINT 'Dropped Table: ' + @name    SELECT @name = (SELECT TOP 1 [name] FROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])ENDGO/* Delete all views */DECLARE @sql VARCHAR(MAX) = ''        , @crlf VARCHAR(2) = CHAR(13) + CHAR(10) ;SELECT @sql = @sql + 'DROP VIEW ' + QUOTENAME(SCHEMA_NAME(schema_id)) + '.' + QUOTENAME(v.name) +';' + @crlfFROM   sys.views vPRINT @sql;EXEC(@sql);

http://stackoverflow.com/questions/536350/drop-all-the-tables-stored-procedures-triggers-constraints-and-all-the-depend

http://stackoverflow.com/questions/11689557/delete-all-views-from-sql-server

0 0
原创粉丝点击