SQL批量删除数据表中指定字段对应的所有约束
来源:互联网 发布:买家如何注册淘宝客 编辑:程序博客网 时间:2024/06/10 01:55
--SQL批量删除数据表中指定字段对应的所有约束
--定义要操作的数据表名变量
declare @TableName nvarchar(250)
set @TableName='数据表名'
--定义要操作的字段名变量
declare @ColumnName nvarchar(250)
set @ColumnName='字段名'
--定义当前查询的约束变量
declare @ConstraintName varchar (250)
--声明读取数据表中指定字段对应的所有约束列表游标
declare mycursor cursor for select name from sysobjects left join sysconstraints on sysconstraints.constid=sysobjects.id where parent_obj=OBJECT_ID(''+@TableName+'') and colid=(select colid from syscolumns where id=OBJECT_ID(''+@TableName+'') and OBJECTPROPERTY(id, N'IsUserTable') = 1 and upper(name)=upper(@ColumnName))
--打开游标
open mycursor
--从游标里取出数据赋值到主键约束名称变量中
fetch next from mycursor into @ConstraintName
--如果游标执行成功
while (@@fetch_status=0)
begin
--删除当前找到的约束
--print '当前删除语句'+'ALTER TABLE ['+@TableName+'] DROP CONSTRAINT ['+@ConstraintName+']'
exec ('ALTER TABLE ['+@TableName+'] DROP CONSTRAINT ['+@ConstraintName+']')
print '已成功删除数据表['+@TableName+']字段['+@ColumnName+']对应的约束['+@ConstraintName+']'
--用游标去取下一条记录
fetch next from mycursor into @ConstraintName
end
--关闭游标
close mycursor
--撤销游标
deallocate mycursor
--以上程序已测试:测试环境Windows2003+SQL2008 SERVER R2
- SQL批量删除数据表中指定字段对应的所有约束
- 利用shell删除数据表中指定信息和字段对应的文件
- SQL存储过程之删除指定表中指定字段所有约束
- 批量删除数据库字段中指定的字符串
- 删除数据库中所有表中指定的字段
- SQL批量删除指定数据表中的所有字段说明属性
- sql删除字段中指定字符之前的字符串或者删除字段中指定字符之后的字符串
- MySQL入门--显示指定数据表的字段结构、插入指定字段的值(记录)、查看指定表中指定字段的所有记录
- MySQL入门--显示指定数据表的字段结构、插入指定字段的值(记录)、查看指定表中指定字段的所有记录
- 删除文件中指定字符串的所有行
- 删除solr中指定core的所有数据(索引)
- 删除链表中指定的所有元素
- java中指定删除list对应元素
- SQL 判断字段中指定字符出现的次数
- sql语句 查询字段中指定字符之间的数据
- SQL 判断字段中指定字符出现的次数
- 修改数据表中指定记录的信息
- SQL语句 - 删除表中指定列重复的纪录
- 接口隔离原则
- 八款JS框架介绍及比较
- android loginDemo +WebService用户登录验证
- 【QTP】无意中发现了QTP11.5(UFT)的一个新功能。
- 纯图片高度自适应圆角框的制作
- SQL批量删除数据表中指定字段对应的所有约束
- Android开发入门(二)
- 基础加强_JavaBean,反射和内省,BeanUtils工具
- 拉格朗日 SVM KKT
- Perl 中的线程(2)
- 1175 连连看
- Python 中 字符串与字典间转换
- AE创建拓扑
- 关于Tomcat