je to proto, že váš materializovaný pohled je založen na dvou tabulkách, pokud vytvoříte svůj pohled na základě jedné tabulky s primárním klíčem, pak se primární klíč vytvoří ve vašem materializovaném pohledu. Index můžete vytvořit i poté, pokud jej potřebujete:
SQL> create table t1(id number);
Table created.
SQL> create table t2(id number);
Table created.
SQL> alter table t1 add primary key (id);
Table altered.
SQL> alter table t2 add primary key (id);
Table altered.
SQL> CREATE MATERIALIZED VIEW MyMV
REFRESH COMPLETE ON DEMAND
AS
SELECT t1.*
FROM t1, t2 where t1.id=t2.id; 2 3 4 5
Materialized view created.
SQL> create unique index myindex on MyMV(id);
Index created.
UPRAVIT
vytvořte primární klíč namísto jedinečného indexu:
SQL> alter materialized view MyMV add constraint PK_ID primary key (id);
Materialized view altered.
SQL> alter table t3 add constraint FK_TABLE3_MyMV foreign key (id) references MyMV (id);
Table altered.