SQLServer之修改CHECK约束

使用SSMS数据库管理工具修改CHECK约束

1、打开数据库,选择数据表-》右键点击-》选择设计(或者展开约束,选择约束,右键点击,选择修改,后面步骤相同)。

2、选择要修改的数据列-》右键点击-》选择CHECK约束。

3、在CHECK约束弹出框中-》选择要修改的约束-》输入约束表达式-》输入约束名和约束描述-》选择表设计器规则-》点击关闭。

4、点击保存按钮(或者ctrl+s)-》刷新表查看修改结果。

使用T-SQL脚本修改CHECK约束

CHECK约束修改规则必须首先删除现有的CHECK约束,然后使用新定义重新创建,才能使用Transact-SQL修改CHECK约束。

语法:

--修改check约束
use 数据库名
go

--如果约束存在则先删除
if exists(select * from sysobjects where name=约束名)
alter table 表名 drop constraint 约束名;
go

--添加约束
alter table 表名
--with check --该约束是否应用于现有数据,with check表示应用于现有数据,with nocheck表示不应用于现有数据
add constraint 约束名
check
not for replication --当复制代理在表中插入或更新数据时,禁用该约束。
(约束表达式);
go

--向表中添加新数据或更新表中现有数据时是否禁用该约束。check表示校验,nocheck表示不校验
--alter table 表名
--check
--constraint 表名;
--go

--添加check约束描述
execute sp_addextendedproperty N‘MS_Description‘, N‘约束描述‘, N‘SCHEMA‘, N‘dbo‘, N‘TABLE‘, N‘表名‘, N‘CONSTRAINT‘, N‘约束名‘;
go

示例:

--修改check约束
use testss
go

--如果约束存在则先删除
if exists(select * from sysobjects where name=‘u_check2‘)
alter table test1 drop constraint u_check2;
go

--添加约束
alter table test1
--with check --该约束是否应用于现有数据,with check表示应用于现有数据,with nocheck表示不应用于现有数据
add constraint u_check2
check
not for replication --当复制代理在表中插入或更新数据时,禁用该约束。
(height>=100 and height <=200);
go

--向表中添加新数据或更新表中现有数据时是否禁用该约束。check表示校验,nocheck表示不校验
--alter table test1
--check
--constraint u_check2;
--go

--添加check约束描述
execute sp_addextendedproperty N‘MS_Description‘, N‘修改约束‘, N‘SCHEMA‘, N‘dbo‘, N‘TABLE‘, N‘test1‘, N‘CONSTRAINT‘, N‘u_check2‘;
go

CHECK约束修改优缺点

优点:

1、修改数据库CHECK约束可以保证数据的规范性和完整性。

缺点:

1:修改约束的表设计器使用规则时,可能会引起原有数据与约束的冲突。

原文地址:https://www.cnblogs.com/vuenote/p/9591687.html

时间: 2024-11-06 09:30:22

SQLServer之修改CHECK约束的相关文章

SQLServer之修改DEFAULT约束

使用SSMS数据库管理工具修改DEFAULT约束 1.连接数据库.选择数据表->右键点击->选择设计. 2.在表设计器窗口->选中要修改的数据列->在列属性中找到默认值绑定->进行修改. 3.点击保存(或者ctrl+s)->关闭表设计器->刷新表->重新打开表设计器查看. 使用T-SQL脚本修改DEFAULT约束 DEFAULT约束修改规则必须首先删除现有的DEFAULT约束,然后使用新定义重新创建,才能使用Transact-SQL修改DEFAULT约束.

SQLServer之CHECK约束

原文:SQLServer之CHECK约束 CHECK约束添加规则 1.CHECK 约束用于限制列中的值的范围. 2.Check约束通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须满足Check约束的条件,否则将无法正确输入. 3.如果对单个列定义 CHECK 约束,那么该列只允许特定的值. 4.如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制. 使用SSMS数据库管理工具添加CHECK约束 1.连接数据库,选择数据库

CHECK约束

CHECK约束会检查输入到记录中的值是否满足一个条件,如果不满足这个条件则对数据库做的修改不会成功.比如,一个人的年龄是不可能为负数的,一个人的入学日期不可能早于出生日期,出厂月份不可能大于12.可以在CHECK条件中使用任意有效的SQL表达式,CHECK约束对于插入.更新等任何对数据进行变化的操作都进行检查. 在字段定义后添加CHECK 表达式就可以为这个字段添加CHECK约束,几乎所有字段中都可以添加CHECK约束,也就是一张表中可以存在多个CHECK 约束. 下面的SQL语句创建了一张用于

SQL PRIMARY KEY 约束\SQL FOREIGN KEY 约束\SQL CHECK 约束

SQL PRIMARY KEY 约束 PRIMARY KEY 约束唯一标识数据库表中的每条记录. 主键必须包含唯一的值. 主键列不能包含 NULL 值. 每个表都应该有一个主键,并且每个表只能有一个主键. SQL PRIMARY KEY Constraint on CREATE TABLE 下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束: MySQL: CREATE TABLE Persons ( Id_P i

Partition table的switch条件2:Partition 的隐式Check约束 和Nullability

Partition column允许为Null,Null是最小值,存在于Partition Number=1的partition中. Any data with a NULL in the partition column will reside in the leftmost partition. NULL is considered smaller than the minimum value of the data type’s values. Partition Function 定义了

MariaDB10.2.X-新特性2-支持check约束and with as

前几天写了一篇MariaDB10.2支持分析函数,大家印象中MySQL不支持with as ,check约束,那么MariaDB10.2也同样给你惊喜 1.with as MariaDB [test11]> with a as ( select * from t1 where channerId ='支付宝' )  select * from a; +----+--------+------------+-----------+--------+ | id | userId | orderId 

Oracle之Check约束实例详解

Oracle | PL/SQL Check约束用法详解 1. 目标 实例讲解在Oracle中如何使用CHECK约束(创建.启用.禁用和删除) 2. 什么是Check约束? CHECK约束指在表的列中增加额外的限制条件. 注: CHECK约束不能在VIEW中定义. CHECK约束只能定义的列必须包含在所指定的表中. CHECK约束不能包含子查询. 3. 创建表时定义CHECK约束 3.1 语法: CREATE TABLE table_name ( column1 datatype null/not

数据(连接查询、纵向联合、索引/键、CHECK约束)

-----连接查询----- ---纵向联合--- 索引/键 添加-列-确定 CHECK约束:规定他范围,不能超过范围 stable表-设计-cid右键-CHECK约束-添加-表达式后面的省略号 - 设置为年龄大于0,小于150,超过设置范围语句与约束冲突终止

oracle的check约束

check约束是指检查性约束,使用check约束时.将对输入的每个数据进行检查,仅仅有符合条件的记录才会被保存到表中,从而保证了数据的有效性和完整性. check约束既有下面的四个特点: 在check约束的表达式中,必须引用表中的一个或多个列,而且表达式的运算结果是一个布尔值. 在一个列种.能够定义多个check约束. 对于同一列,能够同一时候定义check约束和not null约束. check约束既能够定义在列级别中.也能够定义在表级中. 在这里.我们创建了一个p3表作为示范: SQL> c