SQL数据库中为列增加约束的问题
约束必须满足下面5个条件。1:只能是8位2:前两位是03:3~4位为数字4:第5位为下划线5:6~8位为字母...
约束必须满足下面5个条件。
1:只能是8位
2:前两位是0
3:3~4位为数字
4:第5位为下划线
5:6~8位为字母 展开
1:只能是8位
2:前两位是0
3:3~4位为数字
4:第5位为下划线
5:6~8位为字母 展开
4个回答
展开全部
对着表定义窗口右键选择CHECK 约束 在 点添加 在“表达式”一行中填写就行了。
1. len([列名])=10
2. [列名] like '00%'
3.[列名] like '__[0-9][0-9]%'
4.[列名] like '____[_]%'
5.[列名] like '_____[a-z,A-Z][a-z,A-Z][a-z,A-Z]%'
这样式不是很简单啊 直接操作工具就行了。这应该没超出你所学吧 都是 sql的运算符
1. len([列名])=10
2. [列名] like '00%'
3.[列名] like '__[0-9][0-9]%'
4.[列名] like '____[_]%'
5.[列名] like '_____[a-z,A-Z][a-z,A-Z][a-z,A-Z]%'
这样式不是很简单啊 直接操作工具就行了。这应该没超出你所学吧 都是 sql的运算符
更多追问追答
追问
你写的没超出我学的。但我有2个疑问。
1:第一条长度是8把。你怎么写成10?!
2:你写的这些表达式只是约束必须有这些00._下划线等的存在。并没排列好它的位置。比如我3.4位是0.其他的顺序随便怎么排。只要都存在即可了?
追答
1.这个是我写错了是8
2. [列名] like '00%' 是第1,2位为0其它的位置无限制。你不是就是这个要求吗?如果要限制的话请提出来。
展开全部
这种约束最好建立在前台吧,用一楼的正则表达式比较好实现
追问
好的东西要是自己的才好。再好我得不到只能留下一声叹息!
追答
你要不用正则的话,貌似只能用触发器了,写起来就麻了个烦了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
^00[0-9]^2_[a-zA-Z]^3
是不是用正规表现阿?
请参考.
是不是用正规表现阿?
请参考.
更多追问追答
追问
你写的超出我所学的范围了。我只学了SQL语言增删改。
追答
不用正规表现,比较困难吧..
如果表格已经存在了。可以用alter table
ALTER TABLE XXX ADD(
constraint ck_A check (columnA like '^00[0-9]^2_[a-zA-Z]^3')
);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用正则表达式才好写的,要不麻烦S你
追问
我不怕麻烦。你们说的正规表达式还没学。这道题除了这个还有没其他解决办法。这是书上第1个小题。应该不难。。。。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询