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

1つの行だけが列に特定の値を持つことができるようにデータベーステーブルを制約するにはどうすればよいですか?

    関数ベースのインデックスを使用する:

    create unique index only_one_yes on mytable
    (case when col='YES' then 'YES' end);
    

    Oracleは、完全にnullではないキーのみにインデックスを付けます。ここでのCASE式により、すべての「NO」値がnullに変更され、インデックスが付けられなくなります。



    1. 選択したグループを2番目のグループで使用し、それ自体をMySQLのデータソースとして使用してテーブルを更新するにはどうすればよいですか?

    2. Postgresqlストアドプロシージャはselect結果セットを返します

    3. SQL最新の日付項目を選択する方法

    4. SQLで絶対値を計算する方法