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

Oracleデータベースの複数のフィールドを持つ条件付き一意制約

    @jamesfrj:テーブルにstatus <>5のレコードが1つだけ含まれていることを確認しようとしているようです 。

    以下に示すように、列を連結することで、一意の機能インデックスを作成してみることができます

          create table XPTO_TABLE (id number, 
                                obj_x varchar2(20),
                                date_x date,
                                type_x varchar2(20),
                                status_x varchar2(20)                              
                               );
    
          create unique index xpto_table_idx1 on XPTO_TABLE(case when status_x <>'5'  THEN              obj_x||date_x||type_x||STATUS_x ELSE null END);
    

    お役に立てば幸いです

    Vishad



    1. MySQLインデックスのサイズ制限とはどういう意味ですか?

    2. sequelize-cliを使用してmysqlの日付タイプの長さを設定する方法

    3. mysqlデータベースのserializeフィールドから検索するにはどうすればよいですか?

    4. 最初の2列で同じ番号の組み合わせを持つ行を検出し、3番目の列で番号が最も大きい行を選択します