Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zmaterializowane widoki Oracle z kluczem podstawowym

dzieje się tak, ponieważ widok zmaterializowany jest oparty na dwóch tabelach, jeśli utworzysz widok na podstawie pojedynczej tabeli z kluczem podstawowym, klucz podstawowy zostanie utworzony w widoku zmaterializowanym. Nadal możesz utworzyć indeks później, jeśli go potrzebujesz:

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.

EDYTUJ

utwórz klucz podstawowy zamiast unikalnego indeksu:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klient Oracle wymaga nawiasów wokół nazw kolumn?

  2. Wykonywanie procesu Oracle Stored jako inny użytkownik

  3. Jak mogę użyć kolekcji w instrukcji Oracle SQL?

  4. Odpowiednik Oracle ISNULL()

  5. OC4J 10.1.3.3 nie można znaleźć pliku ojms.rar podczas konfigurowania trwałości bazy danych