数据库断言SQLver语言,ASSERTION

更新时间:2023-05-24 23:02:06 阅读: 评论:0

数据库断⾔SQLver语⾔,ASSERTION
初中物理知识点总结断⾔
在SQL中可以使⽤数据定义语⾔中的CREATE ASSERTION语句,通过声明性断⾔(declarative asrtions)来指定更具⼀般性的约束。可以定义涉及多个表或聚集操作的⽐较复杂的完整性约束。
断⾔创建以后,任何对断⾔中所涉及关系的操作都会触发关系数据库管理系统对断⾔的检查,任何使断⾔不为真值的操作都会被拒绝执⾏。创建断⾔的语句格式
CREATE ASSERTION <;断⾔名> <CHECK⼦句>
每个断⾔都被赋予⼀个名字,<CHECK⼦句>中的约束条件与WHERE⼦句的条件表
达式类似。
[例1]限制数据库课程最多60名学⽣选修。
我也很想他CREATE ASSERTION_ASSE_SC_DB_NUM
凶残的近义词>欢乐颂应勤CHECK(60>=(SELECT count(*)#*此断⾔的谓词涉及聚集操作count的SQL语句*
FROM Cour,SC
WHERE SCO=COURSEO AND COURSEAME ='数据库')
每当学⽣选修课程时,将在SC表中插⼊⼀条元组(Sno, Cno, NULL), ASSE_SC_ DB_ NUM断⾔被触发检查。如果选修数据库课程的⼈数已经超过60⼈,CHECK⼦句返回值为“假”,对SC表的插⼊操作被拒绝。
[例2]限制每⼀门课程最多60名学⽣选修。
CREATE ASSERTION ASSE SC CNUMI
CHECK(60>=ALL(SELECT count()#此断⾔的谓词,涉及聚集操作count
FROM SC
#和分组函数group by的SQL语句
GROUP by cno )
);
[例3]限制每个学期每⼀门课程最多60名学⽣选修。
张曼玉身高
#⾸先修改SC表的模式,增加⼀个“学期(TERM)”的属性。淀粉和面粉
ALTER TABLE SC ADD TERM DATE;#先修改SC表,增加TERM属性,它的类型是DATE
笔记本电脑好
#然后定义断⾔:
CREATE ASSERTIONASSE SC CNUM2雪兰
CHECK(60>=ALL(lect count(*)from SC group by cno,TERM ));

本文发布于:2023-05-24 23:02:06,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/763758.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:操作   涉及   课程
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图