sql - 如何添加限制条件,根据您的出生日期,您只能借一定数量的书籍?
问题描述
我有以下表格: Book (sNo) Borrow (sNo, lNo) Person(lNo, name, dob) 现在在这里我需要添加一个约束条件,如果借用人是某个年龄,他们只能得到这么多书。我正在考虑一些在名称相同的情况下计算 lNo 的东西,如果它已经达到极限,他们就不能再借一本书了。但我不知道该怎么做。有没有办法只用约束而不用触发器?
解决方案
不,我不认为这是可能的。
如果您想要一个没有竞争条件的解决方案,您可能也必须进行非规范化:将 a 添加borrow_count
到具有适当检查约束的人。此数字由 on 上的触发器维护borrow
。
推荐阅读
- javascript - 当我可以直接调用函数时,为什么在javascript中使用回调函数
- reactjs - 如何在本地运行我的 react 应用程序的生产版本?
- pyspark - Pyspark 爆破sql函数
- javascript - 如何在 Javascript/CSS 中制作一个具有恒定大小的框?
- c# - EF Core - 如何通过多个连接按可空列分组
- hugo - 进行hugo部署时如何跳过删除一些文件?
- mongodb - 命令失败,出现错误 16020 (Location16020):'表达式 $eq 正好采用 2 个参数。1 人通过了。在服务器本地主机上:27017
- c# - 在 .Net Core 3.1 的 WebApi 中使用 Cors 失败
- node.js - 我们可以将屏幕截图作为附件添加到 Azure 管道中的测试结果吗
- vue.js - 无法从通过事件总线(Vue.js)调用的方法发出事件