关于SQL中的ASSERTION(某单位想举行一个小型的联谊会……)
某单位想举行一个小型的联谊会,关系male记录注册的男嘉宾的信息,关系female记录注册的女嘉宾的信息,建立一个断言,将来宾的人数限制在50人以内。
嘿嘿,网上找不到答案,自己写出来了,就贴上吧
create table Female(
name varchar(30),
department varchar(30));create table Male(
name varchar(30),
department varchar(30));
insert into Male values('李明','科技部'),
('王亮','信息部')
insert into Female values('陈雪','外贸部'),('刘丽','能源部'),('张艳','农业部')
通过此操作创建两个表,并插入数据
通过(派生表查询+集合查询)实现两个表中元组数目之和的统计。
select count(*)
from Female
union
select count(*)
from Male)as COUNTSS(CO))
结果正确
然后再用上断言就可以啦。
试了几次都不行,然后才发现
服了,因为我电脑上只有MySQL,所以不知道整个代码是不是对的(应该是对的,我对照了好几次书)。
代码如下
create assertion asse_INC
check(50>=(select SUM(CO)
from(select count(*)
from Female
union
select count(*)
from Male)as COUNTSS(CO)));
断言机制行不通了,那么就可以试试触发器?
发现最普通的建立触发器也有问题
create trigger count_number
before insert on male
for each row begin
if((select count(*) as num from male)>50)then
set new.name = null;
end if;
end;
这段代码,也有问题
但是通过查找资料找不到问题源头。
如果大家测试出这个语句是对是错可以在底下评论;
如果大家有更好的解题方案也欢迎评论;
welcome
关于SQL中的ASSERTION(某单位想举行一个小型的联谊会……)相关推荐
- 如何取得SQL中自增伴位的下一个值
一般來說, 俱有 identity 屬性欄位的 table 的目前值可以很容易地利用 max 函數來取得. 不過, 也很有可能 max 該筆資料已被刪除了, 所以利用 max 查找出來的結果不正確. ...
- sql中intersect_INTERSECT –谓词中被低估的双向
sql中intersect 您是否曾经想过如何在SQL中表达如下"感觉"的谓词: WHERE Var1 OR Var2 IN (1, 2, 3) / u / CyBerg90在re ...
- Oracle在Pl/sql中的存储过程----zhoudianzhang
Oracle 存储过程 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1. ...
- sql中当前日期加2个月_一文搞定Mysql日期时间函数
总第184篇/张俊红 日期和时间函数部分也是我们日常工作中使用频率比较高的一部分.这一篇我们主要讲讲Mysql里面的日期时间相关的函数,不同数据库之间基本相同,只会有个别函数的差异.大家掌握一个数据库 ...
- sql中“delete from 表名”表示_SQL查询语句知识点总结
为什么要学习SQL? 数据分析岗位的基础技能:SQL语句和会使用SQL语句操纵数据库软件: 数据量增大的工具需求:excel处理十万以内的数据:数据量增大,需要使用更快速便捷的工具分析数据. SQL知 ...
- sql中什么时候应用临时表_SQL数据仓库环境中的临时表应用程序
sql中什么时候应用临时表 Today the subject of investigation is the Temporal Table, which is a new feature in SQ ...
- Flink SQL中的函数
Table API是内嵌在Java语言中的,很多方法需要在类中额外添加,扩展功能比较麻烦,目前支持的函数比较少,故一般情况下我们使用Flink SQL中的函数 Flink SQL中的函数主要分为两类: ...
- sql中日期函数的用法
sql中日期函数的用法 <script src="http://blog.csdn.net/count.aspx?ID=1920773&Type=Rank" ty ...
- 你真的了解SQL中的EXISTS谓词吗?
EXISTS 谓词的用法 支撑 SQL 和关系数据库的基础理论主要有两个:一个是数学领域的集合论,另一个是作为现代逻辑学标准体系的谓词逻辑(predicate logic),准确地说是"一阶 ...
最新文章
- linux内核 cpu_die,解密“内核”,和“cpu”又有啥关系?
- 高招攻略 领英助你清晰解读大数据专业
- docker容器内部无法ping通域名?
- mysql查询语句在哪里编写_mysql编写语句:更新查询
- html模块化标签,jq load()方法实现html 模块化。
- pbxproj文件冲突解决办法
- cmd fsutil 命令 - 创建指定大小文件命令
- 花书+吴恩达深度学习(一)前馈神经网络(多层感知机 MLP)
- Python中判断两个字符串的内容是否相同
- python将object转换为float_如何在python中将datatype:object转换为float64?
- 登陆界面网页代码_Opera Touch移动浏览器登陆iPad 并引入隐私浏览模式
- Python科学计算初探——余弦相似度
- 初中计算机教案ps,初中信息技术《认识Photoshop CS2的工作界面》教案
- Android多开检测的另一个思路
- C语言总谐波失真(THD)实现,从理论到应用分析改进详解
- 今天是冰桶算法大揭秘!!
- Android适配器以及作用,Android Studio:自定义Adapter(适配器)的一些通俗易懂的理解(以一个简单的聊天界面为例)...
- 数据结构之KH [前四章] -->选择题 (一)
- 刷脸支付不用带手机不需要扫二维码
- educoder算法设计与分析 实验五回溯法