sql中常见的约束怎么写

如由“E”加9位数字组成,前四位为聘用年份,后五位为流水号。不小于6位,不多于10位。由等级“一”到“五”加上“星级”组成,值域为{湘菜,赣菜,川菜,鲁菜,北京菜,东北菜... 如 由“E”加9位数字组成,前四位为聘用年份,后五位为流水号。
不小于6位,不多于10位。
由等级“一”到“五”加上“星级”组成
,值域为{湘菜,赣菜,川菜,鲁菜,北京菜,东北菜,闵菜,粤菜,泰国菜,法国菜,韩国料理,日本料理,东南亚料理,普通西餐,其他}
是在做数据库的基本表的创建代码
展开
 我来答
百度网友2dca20d
推荐于2016-03-23 · TA获得超过4036个赞
知道大有可为答主
回答量:2638
采纳率:77%
帮助的人:1012万
展开全部
如 由“E”加9位数字组成,前四位为聘用年份,后五位为流水号。
check(列 like 'E[12][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')

不小于6位,不多于10位。
check(LEN(列) BETWEEN 6 AND 10)

由等级“一”到“五”加上“星级”组成
CHECK(列 like '等级[一二三四五]' OR 列='星级')

,值域为{湘菜,赣菜,川菜,鲁菜,北京菜,东北菜,闵菜,粤菜,泰国菜,法国菜,韩国料理,日本料理,东南亚料理,普通西餐,其他}

CHECK(列 IN('湘菜','赣菜','川菜','鲁菜','北京菜','东北菜','闵菜','粤菜','泰国菜','法国菜','韩国料理','日本料理','东南亚料理','普通西餐','其他'))
追问
那个聘用年份还是没有表示出来吧  第三个我是想表达几星级的 然后这个等级应该是用外码表示吗
追答
聘用年份的区间是什么?
CHECK(列 like '[一二三四五]星级')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式