sql >> Databáze >  >> RDS >> Oracle

Oracle Materialized Views s primárním klíčem

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.



  1. Proč nemohu použít SELECT ... FOR UPDATE s agregačními funkcemi?

  2. Vraťte NULL, pokud je Count(*) nula

  3. SQL dotaz pro řetězec rodič-dítě

  4. Nástroj pro porovnávání dat PostgreSQL