Skip to content

Instantly share code, notes, and snippets.

@danielkillyevo
Forked from richardkundl/drop-tables.sql
Last active June 15, 2016 13:56
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save danielkillyevo/855bd4d8f2e02f79ebfe to your computer and use it in GitHub Desktop.
Save danielkillyevo/855bd4d8f2e02f79ebfe to your computer and use it in GitHub Desktop.
Drop all tables in a SQL Server database (Azure Friendly!)
-- original source: http://edspencer.me.uk/2013/02/25/drop-all-tables-in-a-sql-server-database-azure-friendly/
-- drop all constraint
while(exists(select 1 from INFORMATION_SCHEMA.TABLE_CONSTRAINTS where CONSTRAINT_TYPE='FOREIGN KEY'))
begin
declare @sql1 nvarchar(2000)
SELECT TOP 1 @sql1=('ALTER TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME
+ '] DROP CONSTRAINT [' + CONSTRAINT_NAME + ']')
FROM information_schema.table_constraints
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
exec (@sql1)
PRINT @sql1
end
GO
-- drop all table
while(exists(select 1 from INFORMATION_SCHEMA.TABLES where TABLE_NAME != '__MigrationHistory' and TABLE_SCHEMA != 'sys'))
begin
declare @sql2 nvarchar(2000)
SELECT TOP 1 @sql2=('DROP TABLE ' + TABLE_SCHEMA + '.[' + TABLE_NAME
+ ']')
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME != '__MigrationHistory' and TABLE_SCHEMA != 'sys'
exec (@sql2)
PRINT @sql2
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment