sql >> データベース >  >> RDS >> Oracle

主キーを使用したOracleマテリアライズド・ビュー

    これは、マテリアライズドビューが2つのテーブルに基づいているためです。主キーを持つ単一のテーブルに基づいてビューを作成すると、主キーがマテリアライズドビューに作成されます。必要に応じて、後でインデックスを作成できます。

    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.
    

    編集

    一意のインデックスの代わりに主キーを作成します:

    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. MySQLのLIMIT句で変数を使用する

    2. MySQLDBでトランザクションが機能しない

    3. MySQL ROUND()関数–数値を指定された小数点以下の桁数に丸めます

    4. PostgreSQLMAXおよびGROUPBY