MSSQL中删除所有外键约束的方法
2011-11-08 16:42
573 查看
在网上找到了一句得到删除数据库中所有外键约束的语句的sql语句
但是发现这只是一句查询,要执行的话,还得复制出来执行,比较麻烦
于是写了个sp来自动执行,比较方便
代码如下:
CREATE PROCEDURE sp_drop_all_fk
as
declare @sql varchar(255)
declare dropsql_cursor cursor for
select 'alter table '+object_name(fkeyid)+' drop constraint '+object_name(constid)+char(10) from sysreferences
open dropsql_cursor
fetch dropsql_cursor into @sql
begin tran
while @@fetch_status=0
begin
execute(@sql)
if @@error <> 0
begin
rollback
return
end
fetch dropsql_cursor into @sql
end
deallocate dropsql_cursor
commit
GO
但是发现这只是一句查询,要执行的话,还得复制出来执行,比较麻烦
于是写了个sp来自动执行,比较方便
代码如下:
CREATE PROCEDURE sp_drop_all_fk
as
declare @sql varchar(255)
declare dropsql_cursor cursor for
select 'alter table '+object_name(fkeyid)+' drop constraint '+object_name(constid)+char(10) from sysreferences
open dropsql_cursor
fetch dropsql_cursor into @sql
begin tran
while @@fetch_status=0
begin
execute(@sql)
if @@error <> 0
begin
rollback
return
end
fetch dropsql_cursor into @sql
end
deallocate dropsql_cursor
commit
GO
相关文章推荐
- MSSQL中删除所有外键约束的方法
- 查询与删除MSSQL中所有外键约束
- [转]删除MSSQL所有的约束及表格
- SQL批量删除用户表(先删除所有外键约束,再删除所有表)
- MSSQL如何删除字段的所有约束和索引
- -----删除数据库中所有外键约束-----
- SQL批量删除用户表(先删除所有外键约束,再删除所有表)
- 生成删除所有外键约束语句
- SQL批量删除用户表(先删除所有外键约束,再删除所有表)
- 最简单删除SQL Server中所有数据的方法(不用考虑表之间的约束条件,即主表与子表的关系)
- oracle中删除所有用户表外键的方法
- SQLServer 删除所有表的外键约束
- SQL批量删除用户表(先删除所有外键约束,再删除所有表)
- MySQL删除有外键约束的表数据方法介绍
- oracle 异常捕获,主要是捕获删除数据违反了外键约束的方法
- sqlserver数据库生成删除所有外键约束的sql
- 重命名Sql Server所有外键约束名的方法
- 删除所有外键约束 禁用所有外键约束 启用所有外键约束
- MySQL删除有外键约束的表数据方法介绍
- Mysql删除数据报外键约束解决方法