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

複合キーにクラスターを追加するにはどうすればよいですか?

    テーブル列は、クラスター列と同じデータ型である必要があります。あなたの例では、これはうまく機能します:

    create table test1 (
      id int
    ) cluster abc_clus(id);
    Table TEST1 created.
    

    データ型が一致する場合は、複合キーでも機能します:

    create table test2 (
      a int,
      b int,
      primary key(a, b)
    ) cluster abc_clus(a);
    Table TEST2 created.
    

    ただし、データ型が異なる場合は、次のエラーメッセージが表示されます。

    create table test3 (
      vc varchar2(7)
    ) cluster abc_clus(vc);
    ORA-01753: column definition incompatible with clustered column definition
    

    また、データ型は、intであっても、完全に同じである必要があります。 およびnumber 互換性がありません:

    create table test4 (
      n NUMBER
    ) cluster abc_clus(n);
    ORA-01753: column definition incompatible with clustered column definition
    

    編集:

    複合クラスターを持つこともできます:

    クラスターidc_clus(i int、d date);

    を作成します。

    クラスタidc_clusにインデックスidc_clus_idxを作成します;

    テーブルtest5(i int、d date、primary key(i、d))cluster idc_clus(i、d);

    を作成します。


    1. 文字列値が正しくありません:'\ xF0 \ x9F \ x8E \ xB6 \ xF0 \ x9F ...' MySQL

    2. CodeIgniter DatamapperORMはORDERBY句でMySQLCASEステートメントをサポートしていますか?

    3. PostgreSQLのsecurity_barrierビューはどのように機能しますか?

    4. Oracle正規表現-で始まり、で終わらない