DECLARE @ConstraintName nvarchar(200);

SELECT @ConstraintName = Name
FROM SYS.DEFAULT_CONSTRAINTS
WHERE PARENT_OBJECT_ID = OBJECT_ID('__TableName__')
AND PARENT_COLUMN_ID = (
SELECT column_id
FROM SYS.COLUMNS
WHERE NAME = N'__ColumnName__'
AND object_id = OBJECT_ID(N'__TableName__')
);
IF @ConstraintName IS NOT NULL
BEGIN
EXEC('ALTER TABLE __TableName__ DROP CONSTRAINT ' + @ConstraintName);
END

另一方法(修改字段类型)

IF EXISTS(SELECT name FROM SYSOBJECTS WHERE name = '__TableName__' AND xtype='U')
BEGIN
DECLARE @name VARCHAR(100) = (
SELECT TOP 1 name
FROM SYSOBJECTS
WHERE name LIKE 'DF\_\_%' ESCAPE '\' AND xtype='D' AND id=(SELECT TOP 1 cdefault FROM SYSCOLUMNS WHERE id=OBJECT_ID('__TableName__') AND name='__ColumnName__')
); IF(@name IS NOT NULL)
BEGIN
EXEC('ALTER TABLE [DBO].[__TableName__] DROP CONSTRAINT ' + @name);
EXEC('ALTER TABLE [DBO].[__TableName__] ALTER COLUMN [__ColumnName__] TEXT NULL');
END;
ELSE
BEGIN
ALTER TABLE [DBO].[__TableName__] ALTER COLUMN [__ColumnName__] TEXT NULL;
END;
END;

PS:将__TableName__和__ColumnName__替换你的表名和字段名

[SQL]删除约束的更多相关文章

  1. SQL删除约束

    )禁止所有表约束的SQL select 'alter table '+name+' nocheck constraint all' from sysobjects where type='U' )删除 ...

  2. SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

    创建数据库: CREATE DATABASE Test --要创建的数据库名称 ON PRIMARY ( --数据库文件的具体描述 NAME='Test_data', --主数据文件的逻辑名称 FIL ...

  3. 使用sql语句实现添加、删除约束

    --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. --唯一约束(Unique Constraint):要求该列唯一,允许为空,但只能出现一个空值. ...

  4. ylb:使用sql语句实现添加、删除约束

    ylbtech-SQL Server:SQL Server-使用sql语句实现添加.删除约束 --主键约束(Primary Key constraint):要求主键列的数据唯一,并且不允许为空. -- ...

  5. 使用sql语句创建和删除约束示例代码

    使用sql语句创建和删除约束  约束类型 主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空.  唯一约束(Unique constraint) --: ...

  6. 使用SQL语句创建和删除约束

    原文:http://blog.csdn.net/hamber_bao/article/details/6504905 约束的目的就是确保表中的数据的完整性. 常用的约束类型如下: 主键约束:(Prim ...

  7. 【转】使用SQL语句创建和删除约束

    转自http://blog.csdn.net/hamber_bao/article/details/6504905 约束的目的就是确保表中的数据的完整性. 常用的约束类型如下: 主键约束:(Prima ...

  8. 扩展Exception,增加判断Exception是否为SQL引用约束异常方法!

    在设计数据表时,如果将某些列设置为关联其它表的外键,那么如果对其进行增加.修改操作时,其关联表若没有相匹配的记录则报错,或者在对其关联表进行删除时,也会报错,这就是外键约束的作用,当然除了外键还有许多 ...

  9. [SQL]SQL删除数据的各种方式总结

    SQL删除数据的各种方式总结 一.使用DELETE从表中删除目标行.记录每次删除操作.如: USE pubs DELETE FROM authors WHERE au_lname = 'McBadde ...

随机推荐

  1. ubuntu16.04 使用kinectv2跑Elasticfusion

    1.安装openni2 参考:https://blog.csdn.net/D206_hero/article/details/78985859?utm_source=blogxgwz3  sudo a ...

  2. Custom Default Node Colors and Shapes in Houdini 16.5

    A:before H16.5: 1.Create a file, named OPcustomize 2.Edit it like this: //Custom Default Shapes opde ...

  3. springboot 添加 jsp支持

    idea 新建springboot项目 packageing:选择 war next   勾选web 添加jar包 <dependency> <groupId>org.apac ...

  4. Thing in java 第四章,控制执行流程,练习题答案

    /** * Created by Sandy.Liu on 2018/7/19. * Thinking in java, version 4, chapter 4, practice 1 * Writ ...

  5. Java高级特性 第13节 解析XML文档(1) - DOM和XPath技术

    一.使用DOM解析XML文档 DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树 ...

  6. A*搜索详解(2)——再战觐天宝匣

    书接上文.在坦克寻径的,tank_way中,A*算法每一步搜索都是选择F值最小的节点,步步为营,使得寻径的结果是最优解.在这个过程中,查找最小F值的算法复杂度是O(n),这对于小地图没什么问题,但是对 ...

  7. 压力测试:系统吞吐量、TPS(QPS)、用户并发量、性能测试概念和公式

    PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...

  8. 4.认识Angular组件之2

    11. 变化监测:Angular提供了数据绑定的功能.所谓的数据绑定就是将组件类的数据和页面的DOM元素关联起来.当数据发生变化时,Angular能够监测到这些变化,并对其所绑定的DOM元素 进行相应 ...

  9. Handlebars.js registerHelper

    Handlebars.registerHelper('link', function (text, url) { text = Handlebars.Utils.escapeExpression(te ...

  10. nginx ssl通讯优化思路

    TLS通讯过程中主要做的两件事情: 1.交换密钥 2.加密数据 如果优化的话,主要也是从这两个点来考虑优化: 1.nginx 打开session cache 如一天内不需要再次协商密钥. 2.小文件较 ...