
如ls各位所说,子查询不可以,check只能判断逻辑表达式
但是可以使用用户自定义标量函数,函数依靠传参使用函数返回值进行逻辑判断是可以的
函数体内可以进行select查询等 *** 作
检查约束首字母为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]')
mysql试图中是不可以使用子查询的,你可以把子查询 建立成一个试图嘛, 如: CREATE VIEW View_bb as select id from bb; 然后再 建立上面试图中 调用该试图,如: select a from aa a inner join View_bb b on aid=bid
CREATE TABLE 借阅表(ISBN CHAR(10),JSZH CHAR(10),借阅日期 DATE,归还日期 DATE, CHECK(DATEDIFF(MONTH,借阅日期,归还日期)<=2))
建表了没有,
如果没建表了就直接在建表的时候列名后加check(列名 in(0,1,2))就好了
如果已经建表了就用alter语句吧
alter table 表名 with nockeck
add constraint 列名_check check(列名 in(0,1,2))
有check约束的属性值可以为空值。check约束的属性值约束其实就是非空唯一约束,非空唯一约束也可以通过建立唯一索引来实现,外键约束需要通过其他的表来帮助实现,非空约束在定义是数据库字段时就定义check约束,用处挺大的,所以有check约束的属性值能为空值吗
以上就是关于SQL SERVER里面,check()里面可不可以写子查询全部的内容,包括:SQL SERVER里面,check()里面可不可以写子查询、SQL中用check约束一列的首字母为's'、MySQL的check约束中可以包含子查询吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)