某单位想举行一个小型的联谊会,关系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(某单位想举行一个小型的联谊会……)相关推荐

  1. 如何取得SQL中自增伴位的下一个值

    一般來說, 俱有 identity 屬性欄位的 table 的目前值可以很容易地利用 max 函數來取得. 不過, 也很有可能 max 該筆資料已被刪除了, 所以利用 max 查找出來的結果不正確. ...

  2. sql中intersect_INTERSECT –谓词中被低估的双向

    sql中intersect 您是否曾经想过如何在SQL中表达如下"感觉"的谓词: WHERE Var1 OR Var2 IN (1, 2, 3) / u / CyBerg90在re ...

  3. Oracle在Pl/sql中的存储过程----zhoudianzhang

    Oracle 存储过程 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1. ...

  4. sql中当前日期加2个月_一文搞定Mysql日期时间函数

    总第184篇/张俊红 日期和时间函数部分也是我们日常工作中使用频率比较高的一部分.这一篇我们主要讲讲Mysql里面的日期时间相关的函数,不同数据库之间基本相同,只会有个别函数的差异.大家掌握一个数据库 ...

  5. sql中“delete from 表名”表示_SQL查询语句知识点总结

    为什么要学习SQL? 数据分析岗位的基础技能:SQL语句和会使用SQL语句操纵数据库软件: 数据量增大的工具需求:excel处理十万以内的数据:数据量增大,需要使用更快速便捷的工具分析数据. SQL知 ...

  6. sql中什么时候应用临时表_SQL数据仓库环境中的临时表应用程序

    sql中什么时候应用临时表 Today the subject of investigation is the Temporal Table, which is a new feature in SQ ...

  7. Flink SQL中的函数

    Table API是内嵌在Java语言中的,很多方法需要在类中额外添加,扩展功能比较麻烦,目前支持的函数比较少,故一般情况下我们使用Flink SQL中的函数 Flink SQL中的函数主要分为两类: ...

  8. sql中日期函数的用法

    sql中日期函数的用法   <script src="http://blog.csdn.net/count.aspx?ID=1920773&Type=Rank" ty ...

  9. 你真的了解SQL中的EXISTS谓词吗?

    EXISTS 谓词的用法 支撑 SQL 和关系数据库的基础理论主要有两个:一个是数学领域的集合论,另一个是作为现代逻辑学标准体系的谓词逻辑(predicate logic),准确地说是"一阶 ...

最新文章

  1. linux内核 cpu_die,解密“内核”,和“cpu”又有啥关系?
  2. 高招攻略 领英助你清晰解读大数据专业
  3. docker容器内部无法ping通域名?
  4. mysql查询语句在哪里编写_mysql编写语句:更新查询
  5. html模块化标签,jq load()方法实现html 模块化。
  6. pbxproj文件冲突解决办法
  7. cmd fsutil 命令 - 创建指定大小文件命令
  8. 花书+吴恩达深度学习(一)前馈神经网络(多层感知机 MLP)
  9. Python中判断两个字符串的内容是否相同
  10. python将object转换为float_如何在python中将datatype:object转换为float64?
  11. 登陆界面网页代码_Opera Touch移动浏览器登陆iPad 并引入隐私浏览模式
  12. Python科学计算初探——余弦相似度
  13. 初中计算机教案ps,初中信息技术《认识Photoshop CS2的工作界面》教案
  14. Android多开检测的另一个思路
  15. C语言总谐波失真(THD)实现,从理论到应用分析改进详解
  16. 今天是冰桶算法大揭秘!!
  17. Android适配器以及作用,Android Studio:自定义Adapter(适配器)的一些通俗易懂的理解(以一个简单的聊天界面为例)...
  18. 数据结构之KH [前四章] -->选择题 (一)
  19. 刷脸支付不用带手机不需要扫二维码
  20. educoder算法设计与分析 实验五回溯法

热门文章

  1. 利用python实现两个文件夹的同步
  2. 【Nginx】Nginx服务器的作用
  3. 香港汇丰银行个人开户怎么办理?
  4. 如何制作新年公众号封面图?手把手教你在线编辑图片
  5. C++生成LNK文件及LNK文件简单解析
  6. vue-router前端路由的两种模式的区别
  7. linux dmesg命令参数及用法详解
  8. Servlet-发送电子邮件
  9. C/C++ 创建多级文件夹(mkdir)
  10. LVM修复-误删除磁盘