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

列に一意性制約があるかどうかを確認します

    ここに示されている両方の回答は、列に一意性を適用する1つの方法を見逃しています。それは一意のインデックスを作成することです。 (列に一意の制約を定義せずに)。これらの2つのリンクを参照してください(1つ2つ )このオプションに慣れていない場合。

    このチェックは追加で実行する必要があります 一意制約チェックへ:

    select count(*) from
    USER_IND_COLUMNS cols
    where cols.table_name='YOUR_TABLE_NAME'
    and cols.COLUMN_NAME='YOUR_COLUMN';
    

    一意の制約を確認するには、すでに提供されている方法を使用します。

    select count(*) cnt 
    from user_constraints uc
    where uc.table_name='YOUR_TABLE_NAME'
    and uc.constraint_type='U';
    

    または、ALL_CONSTRAINTSを確認することもできます。 およびALL_IND_COLUMNS ビュー。



    1. グループ化時の問題

    2. MySQL 5では、SELECT COUNT(1)FROMtable_nameは非常に遅いです

    3. mysqlストアドプロシージャで5つのランダムな数値を生成する方法

    4. LEFT JOINは、左側のテーブルからすべてのレコードを返すわけではありません