Play With SQL

Today, I am going to explain some quick solutions for SQL queries such as how to delete all the types of Stored Procedure, Views, functions PKs, FKs and tables.

Software developers always try to improve the performance of the application by improving design, coding and database development. For database development, I will provide some quick solutions. 

How To Drop All Stored Procedures In MSSQL Database
  1. /* Drop all non-system stored procs */  
  2. DECLARE @name VARCHAR(128)  
  3. DECLARE @SQL VARCHAR(254)  
  4.   
  5. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])  
  6.   
  7. WHILE @name is not null  
  8. BEGIN  
  9.     SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'  
  10.     EXEC (@SQL)  
  11.     PRINT 'Dropped Procedure: ' + @name  
  12.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])  
  13. END  
  14. GO  
How To Drop All Views In MSSQL Database
  1. /* Drop all views */  
  2. DECLARE @name VARCHAR(128)  
  3. DECLARE @SQL VARCHAR(254)  
  4.   
  5. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])  
  6.   
  7. WHILE @name IS NOT NULL  
  8. BEGIN  
  9.     SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'  
  10.     EXEC (@SQL)  
  11.     PRINT 'Dropped View: ' + @name  
  12.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])  
  13. END  
  14. GO  
How To Drop All Tables From MSSQL Database
 
Firstly, use Information_Schema.Tables to view for getting the list of tables (If you want).
  1. DECLARE @sql NVARCHAR(max)=''  
  2.   
  3. SELECT @sql += ' Drop table '+TABLE_SCHEMA+'.'+ TABLE_NAME  
  4. FROM   INFORMATION_SCHEMA.TABLES  
  5. WHERE  TABLE_TYPE = 'BASE TABLE'  
  6.   
  7. Exec Sp_executesql @sql  
Secondly, generate drop scripts in select statement and drop it using Dynamic SQL.
  1. SELECT ' Drop table ' + s.NAME + '.' + t.NAME  
  2. FROM   sys.tables t  
  3.        JOIN sys.schemas s  
  4.          ON t.[schema_id] = s.[schema_id]  
  5. WHERE  t.type = 'U'   
  6.   
  7. Exec sp_executesql @sql  
Another way to drop all table from the database is:
  1. /* Drop all tables */  
  2. DECLARE @name VARCHAR(128)  
  3. DECLARE @SQL VARCHAR(254)  
  4.   
  5. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])  
  6.   
  7. WHILE @name IS NOT NULL  
  8. BEGIN  
  9.     SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'  
  10.     EXEC (@SQL)  
  11.     PRINT 'Dropped Table: ' + @name  
  12.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])  
  13. END  
  14. GO  
How To Drop All Functions From MSSQL Database 
  1. /* Drop all functions */  
  2. DECLARE @name VARCHAR(128)  
  3. DECLARE @SQL VARCHAR(254)  
  4.   
  5. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT'AND category = 0 ORDER BY [name])  
  6.   
  7. WHILE @name IS NOT NULL  
  8. BEGIN  
  9.     SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'  
  10.     EXEC (@SQL)  
  11.     PRINT 'Dropped Function: ' + @name  
  12.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT'AND category = 0 AND [name] > @name ORDER BY [name])  
  13. END  
  14. GO  
How To Drop All Foreign Keys From MSSQL Database 
  1. /* Drop all Foreign Key constraints */  
  2. DECLARE @name VARCHAR(128)  
  3. DECLARE @constraint VARCHAR(254)  
  4. DECLARE @SQL VARCHAR(254)  
  5.   
  6. 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)  
  7.   
  8. WHILE @name is not null  
  9. BEGIN  
  10.     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)  
  11.     WHILE @constraint IS NOT NULL  
  12.     BEGIN  
  13.         SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'  
  14.         EXEC (@SQL)  
  15.         PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name  
  16.         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)  
  17.     END  
  18. 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)  
  19. END  
  20. GO  
Another way to drop Foreign Key with (If exists) 
  1. IF EXISTS (SELECT *   
  2.   FROM sys.foreign_keys   
  3.    WHERE object_id = OBJECT_ID(N'dbo.FK_TableName_TableName2')  
  4.    AND parent_object_id = OBJECT_ID(N'dbo.TableName')  
  5. )  
  6.   ALTER TABLE [dbo.TableName] DROP CONSTRAINT [FK_TableName_TableName2]  
How to Drop All Primary Keys From MSSQL Database  
  1. /* Drop all Primary Key constraints */  
  2. DECLARE @name VARCHAR(128)  
  3. DECLARE @constraint VARCHAR(254)  
  4. DECLARE @SQL VARCHAR(254)  
  5.   
  6. 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)  
  7.   
  8. WHILE @name IS NOT NULL  
  9. BEGIN  
  10.     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)  
  11.     WHILE @constraint is not null  
  12.     BEGIN  
  13.         SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'  
  14.         EXEC (@SQL)  
  15.         PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name  
  16.         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)  
  17.     END  
  18. 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)  
  19. END  
  20. GO  


Similar Articles