SQL SERVER里面,check()里面可不可以写子查询

SQL SERVER里面,check()里面可不可以写子查询,第1张

如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约束中可以包含子查询吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10183308.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存