SQL Server 删除表的默认值约束

Posted Zev_Fung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server 删除表的默认值约束相关的知识,希望对你有一定的参考价值。

首先查出字段的默认值约束名称,然后根据默认值约束名称删除默认值约束

declare @constraintName varchar(200)

select @constraintName = b.name from syscolumns a,sysobjects b where a.id=object_id(TB_KYSubProject) and b.id=a.cdefault and a.name=Final_Belong_Programme and b.name like DF%

SELECT @constraintName

exec(alter table TB_KYSubProject drop constraint +@constraintName)

 

注意:

1.sql中constraint 前缀PK、UK、DF、CK、FK:

PK是primary key缩写,主键约束

UK是unique key缩写,唯一约束

CK是check缩写,检查约束

FK是foreign缩写,主外键关系

DF是default缩写,默认值约束

 

2.syscolumns

cdefault :int 该列的默认值 ID。

id:int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。

name:sysname 列名或过程参数的名称。 

 

3.object_id函数

该函数会返回指定对象的ID值

以上是关于SQL Server 删除表的默认值约束的主要内容,如果未能解决你的问题,请参考以下文章

SQL server中某个表的字段值为啥不能修改?

sqlserver 下 修改表的某个字段默认值语法是怎么样的

sqlserver2005,如何将一个数据库中的所有表的数据清空,而约束不删?跪求答案

sqlserver 下 修改表的某个字段默认值语法是怎么样的

SQL server 数据库表的管理学习

sql server 语句操作大全