一般用于测试环境,进行数据库表结构梳理时用到,请慎用!!!
---SQLServer删除所有外键
declare @sql varchar(max),
@tab_name varchar(128),
@fk_name varchar(128);
declare c cursor for
select OBJECT_NAME(parent_object_id), name from sys.objects where type='F'
open c
fetch next from c into @tab_name, @fk_name
while @@FETCH_STATUS=0
begin
set @sql='';
set @sql='alter table ' + @tab_name + ' drop constraint ' + @fk_name
print @sql
exec(@sql)
fetch next from c into @tab_name, @fk_name
end
close c
deallocate c
--批量删除所有表
declare @tname varchar(max)
set @tname=''
select @tname=@tname + Name + ',' from sysobjects where xtype='U'
select @tname
select @tname='drop table ' + left(@tname,len(@tname)-1)
exec(@tname)
go