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

bbos1994 2014-01-13 04:42:03
用代码怎样加这种约束,,规定这列里面的数据至少含有ABCD四个字母。,,怎样写,,求教,,add contraint。。。。。??
...全文
123 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
LongRui888 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] 嗯,我的约束是在建表的时候写的,所以应该不牵扯这个问题吧
LongRui888 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开头
LongRui888 2014-01-13
  • 打赏
  • 举报
回复
至少含有ABCD四个字母 是指,只要含有4个字母就可以,比如:CDBA ,还是指只能是ABCD?
LongRui888 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,然后输入【约束】,里面有案例
t101lian 2014-01-13
  • 打赏
  • 举报
回复
方法一:在设计表时,右键该字段->CHECK约束->添加约束: 表达式:
字段 like '%ABCD%'
方法二:为现有的表写SQL脚本:
 
ALTER TABLE 表

WITH NOCHECK ADD CONSTRAINT CK_约束名

CHECK  (字段like '%ABCD%' ) 
bbos1994 2014-01-13
  • 打赏
  • 举报
回复
谢谢了.....

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧