清除数据库表、外键、存储过程SQL

1.删除所有外键

DECLARE c1 cursorfor
   
select'alter table ['+object_name(parent_obj) +'] drop constraint ['+name+']; '
   
from sysobjects
   
where xtype ='F'
open c1
declare@c1varchar(8000)
fetchnextfrom c1 into@c1
while(@@fetch_status=0)
   
begin
       
exec(@c1)
       
fetchnextfrom c1 into@c1
   
end
close c1
deallocate c1

2.删除所有表

use 数据库
declare@tnamevarchar(8000)
set@tname=''
select@tname=@tname+ Name +','from sysobjects where xtype='U'
select@tname='drop table '+left(@tname,len(@tname)-1)
exec(@tname)

3.删除所有存储过程

declare @procName varchar(500)

      declare cur cursor

            for select [name] from sys.objects where type = 'p'

      open cur

      fetch next from cur into @procName

      while @@fetch_status = 0

      begin

            if @procName <> 'DeleteAllProcedures'

                  exec('drop procedure ' + @procName)

                  fetch next from cur into @procName

      end

      close cur

      deallocate cur

原文地址:https://www.cnblogs.com/zgqys1980/p/3635245.html