SqlServer2008实例26约束之使用CHECK约束

CHECK约束用于定义列允许的格式和值。CHECK约束的语法如下;
                CHECK (logical_Expression)

    如果CHECK的逻辑表达式计算为TRUE,行就会被插入。如果CHECK约束的表达式计算为FALSE,行插入就会失败。

  下面示例:

    是向CREATE TABLE定义中增加一个CHECK约束。GPA列的值会被限制在某个数值范围之内:

USE AdventureWorks
GO

DROP TABLE Person.EmployeeEducationType
CREATE TABLE Person.EmployeeEducationType
(
	EmployeeEducationTypeID int NOT NULL PRIMARY KEY,
	EmployeeID int NOT NULL,
	EducationTypeID int NULL,
	GPA numeric(4,3) NOT NULL CHECK (GPA>2.5 AND GPA<=4.0)
)

    CHECK约束表达式可以是在列约束级别定义。CHECK约束还能定义在表约束级别,并且允许在表达式中引用多个列:

USE AdventureWorks
GO

DROP TABLE Person.EmployeeEducationType

CREATE TABLE Person.EmployeeEducationType
(
	EmployeeEducationTypeID int NOT NULL PRIMARY KEY,
	EmployeeID int NOT NULL,
	EducationTypeID int NULL,
	GPA numeric(4,3) NOT NULL,
	CONSTRAINT CK_EmployeeEducationType
	CHECK (EducationTypeID > 1 AND GPA > 2.5 AND GPA <=4.0)
)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ngbshzhn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值