我有一个没有主键的表:
我能够在表上创建 MV 日志——无需指定是使用主键还是 rowid:
create materialized view log on maximo.workorder;
看起来 Oracle 已选择使用主键选项创建 MV 日志(即使该表没有主键):
我已经测试了 MV 日志并且它们工作正常。我对 WORKORDER 表所做的任何编辑都会显示在 MV 日志中。
为什么 Oracle 可以使用主键选项创建 MV 日志——即使表没有主键?
编辑:
这里的相关问题:在没有PK的表上通过dblink创建快速刷新MV?
在这种情况下,对列的唯一约束
NOT NULL
(正如我在安装了 Maximo 的数据库中检查该表时所拥有的那样)足以替代主键。