在修订文件中坚持这个问题。我把其他关系留下了,因为它们与这个问题无关。
考虑以下关系: 文章(arID,标题,期刊,问题,年份,首页,终点)
我如何制定约束条件,以确保在一个特定问题中不得发布超过5篇文章?
我会做类似的事情吗?
CREATE ASSERTION ArticlesInIssue
CHECK(
(SELECT COUNT(Issue) FROM Article) <= 5);
我认为这不会完全奏效,因为它不会指望具体问题,对吧?那么我需要一个where子句,还是我在这里完全错误的方向? 谢谢, 沫。
答案 0 :(得分:1)
写一个插入时触发的 trigger 。您可以在触发器中编写SQL以查询要插入的表并执行该检查。您的代码需要显式回滚插入。
我希望你在问题栏上有一个索引!
答案 1 :(得分:0)
一种可能的解决方案是添加articleNo NUMBER(1) NOT NULL
列和约束:
UNIQUE (issue, articleNo)
和
CHECK (articleNo BETWEEN 1 AND 5)