进入设计表,右键,选择“CHECK 约束”,新建约束,“sex=‘男'”或"sex='女'就行了!
不知道性别列的列名是什么,这里假设为psex,所以其check约束表达式为:
psex = '男' or psex = '女'
注意:单引号必须为英文半角的。
使用计算列
的处理方式来处理。
下面是
例子
sql
代码
1>
2>
create
table
#test
(
3>
a
int,
b
int,
c
as
a+b
4>
)
5>
go
1>
insert
into
#test
(a,b)
values(1,
2)
2>
insert
into
#test
(a,b)
values(3,
4)
3>
go
(1
行受影响)
1>
select
from
#test
2>
go
a
b
c
-----------
-----------
-----------
1
2
3
3
4
7
(2
行受影响)use ebook
create table testcheck
(
time1 datetime ,
time2 datetime ,
constraint time1_time1 check(datediff(day,[time1],[time2]) > 0)
)
这样就可以了,让time2>time1这个相当于ACCESS中的记录级有效性验证但是奇怪,SQLSERVER中从没提出过字段级约束和记录级约束之类的概念,但它的作用和字段级有效性规则及记录级有效性规则类似。
如果你说的两个时间来自不同的表,那只有用触发器来制度约束了检查约束首字母为s:
check(col1 like 's%')
检查约束前3位和后8位均为数字字符:
check(col2 like '[0-9][0-9][0-9]%[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')对这要修改的表点右键。里面有个设计表。点击进去后,对你想加check约束的字符点右键有个check约束。进去后在框里面输入 (字符名称) like "[0-9][0-9][0-9][0-9]_[0-9][0-9][0-9]",保存后即可!use
ebook
create
table
testcheck
(
time1
datetime
,
time2
datetime
,
constraint
time1_time1
check(datediff(day,[time1],[time2])
>
0)
)
这样就可以了,让time2>time1这个相当于access中的记录级有效性验证但是奇怪,sqlserver中从没提出过字段级约束和记录级约束之类的概念,但它的作用和字段级有效性规则及记录级有效性规则类似。
如果你说的两个时间来自不同的表,那只有用触发器来制度约束了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)