• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

简明扼要,,,,,用代码怎样添加这种约束,,详情进来看

bbos1994 2014-01-13 04:42:03
用代码怎样加这种约束,,规定这列里面的数据至少含有ABCD四个字母。,,怎样写,,求教,,add contraint。。。。。??
...全文
90 点赞 收藏 13
写回复
13 条回复
阳泉酒家小当家 2014年01月13日
引用 12 楼 bbos1994 的回复:
[quote=引用 11 楼 yupeigu 的回复:] [quote=引用 7 楼 bbos1994 的回复:] [quote=引用 6 楼 yupeigu 的回复:] 至少含有ABCD四个字母 是指,只要含有4个字母就可以,比如:CDBA ,还是指只能是ABCD?
是必须以ABCD开头[/quote] 哦,这样就行,以ABCD开头,这个with nocheck的意思是,因为你的这个字段在加这个约束之前,已经有值了,如果有任何一个值不满足这个以ABCD开头的要求,那么创建这个约束就会报错,这里加了with nocheck就是不检查之前的数据,只检查以后的数据:
ALTER TABLE 表
 
WITH NOCHECK ADD CONSTRAINT CK_约束名
 
CHECK  (字段like 'ABCD%' )
[/quote] 嗯,我的约束是在建表的时候写的,所以应该不牵扯这个问题吧[/quote] 哦,那就没问题了,这样就行:
ALTER TABLE 表
 
ADD CONSTRAINT CK_约束名
 
CHECK  (字段like 'ABCD%' )
回复 点赞
bbos1994 2014年01月13日
引用 11 楼 yupeigu 的回复:
[quote=引用 7 楼 bbos1994 的回复:] [quote=引用 6 楼 yupeigu 的回复:] 至少含有ABCD四个字母 是指,只要含有4个字母就可以,比如:CDBA ,还是指只能是ABCD?
是必须以ABCD开头[/quote] 哦,这样就行,以ABCD开头,这个with nocheck的意思是,因为你的这个字段在加这个约束之前,已经有值了,如果有任何一个值不满足这个以ABCD开头的要求,那么创建这个约束就会报错,这里加了with nocheck就是不检查之前的数据,只检查以后的数据:
ALTER TABLE 表
 
WITH NOCHECK ADD CONSTRAINT CK_约束名
 
CHECK  (字段like 'ABCD%' )
[/quote] 嗯,我的约束是在建表的时候写的,所以应该不牵扯这个问题吧
回复 点赞
阳泉酒家小当家 2014年01月13日
引用 7 楼 bbos1994 的回复:
[quote=引用 6 楼 yupeigu 的回复:] 至少含有ABCD四个字母 是指,只要含有4个字母就可以,比如:CDBA ,还是指只能是ABCD?
是必须以ABCD开头[/quote] 哦,这样就行,以ABCD开头,这个with nocheck的意思是,因为你的这个字段在加这个约束之前,已经有值了,如果有任何一个值不满足这个以ABCD开头的要求,那么创建这个约束就会报错,这里加了with nocheck就是不检查之前的数据,只检查以后的数据:
ALTER TABLE 表
 
WITH NOCHECK ADD CONSTRAINT CK_约束名
 
CHECK  (字段like 'ABCD%' )
回复 点赞
發糞塗牆 2014年01月13日
with nocheck 是检查是否需要满足外键约束
回复 点赞
bbos1994 2014年01月13日
引用 4 楼 human_2000 的回复:
alter table Table_1 with nocheck add constraint Table_1_conn check( charindex('A',memo)>0 AND charindex('B',memo)>0 AND charindex('C',memo)>0 AND charindex('D',memo)>0)
看你写的貌似很复杂,,就是一个简单的内容必须以abcd开头,也要写那么多么?恕再下小白,没看懂你写的,,而且,那个with nocheck是干嘛的,,本人初学者,没见过那个。
回复 点赞
bbos1994 2014年01月13日
引用 2 楼 t101lian 的回复:
方法一:在设计表时,右键该字段->CHECK约束->添加约束: 表达式:
字段 like '%ABCD%'
方法二:为现有的表写SQL脚本:
 
ALTER TABLE 表

WITH NOCHECK ADD CONSTRAINT CK_约束名

CHECK  (字段like '%ABCD%' ) 
我是拿代码加的,也就是第二种,,有个疑问,那个with nocheck是干嘛的,没见过诶
回复 点赞
bbos1994 2014年01月13日
引用 6 楼 yupeigu 的回复:
至少含有ABCD四个字母 是指,只要含有4个字母就可以,比如:CDBA ,还是指只能是ABCD?
是必须以ABCD开头
回复 点赞
阳泉酒家小当家 2014年01月13日
至少含有ABCD四个字母 是指,只要含有4个字母就可以,比如:CDBA ,还是指只能是ABCD?
回复 点赞
阳泉酒家小当家 2014年01月13日
上面的都对,也就是加一个约束,然后用模糊匹配就可以。
回复 点赞
human_2000 2014年01月13日
alter table Table_1 with nocheck add constraint Table_1_conn check( charindex('A',memo)>0 AND charindex('B',memo)>0 AND charindex('C',memo)>0 AND charindex('D',memo)>0)
回复 点赞
發糞塗牆 2014年01月13日
按F1,然后输入【约束】,里面有案例
回复 点赞
洞房不敗 2014年01月13日
方法一:在设计表时,右键该字段->CHECK约束->添加约束: 表达式:
字段 like '%ABCD%'
方法二:为现有的表写SQL脚本:
 
ALTER TABLE 表

WITH NOCHECK ADD CONSTRAINT CK_约束名

CHECK  (字段like '%ABCD%' ) 
回复 点赞
bbos1994 2014年01月13日
谢谢了.....
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告