如何限制oracle表的记录数

svdrlsy4  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(410)

有谁能帮助我,如果我们可以对oracle表有任何限制,以容纳最多20k条记录,如果有人试图插入超过20k条记录,它应该抛出一个错误。我能想到db触发器,有什么建议吗??

a2mppw5e

a2mppw5e1#

触发器肯定不适合这样的任务。触发器不应该强制执行完整性。为什么?
如果两个用户插入最后一个允许的行,则两个触发器在检查提交的数据时都会成功。
为了保持完整性,设计了检查约束。
在您的情况下(简化为三行允许),它将是

  1. create table tab
  2. (id INT primary key check (id between 1 and 3));
  3. insert into tab(id) values(1);
  4. insert into tab(id) values(2);
  5. insert into tab(id) values(3);
  6. insert into tab(id) values(4);
  7. ORA-02290: check constraint (REPORTER.SYS_C0011024) violated

您可以使用序列或标识列添加自动密钥分配。

相关问题