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

NULL でない限り、フィールド値は一意である必要があります

    where句を介してnullを無視するインデックスを使用してビューを作成します...つまり.テーブルに null を挿入してもビューは気にしませんが、null 以外の値を挿入すると、ビューは制約を適用します。

    create view dbo.UniqueAssetTag with schemabinding
    as
    select asset_tag
    from dbo.equipment
    where asset_tag is not null
    
    GO
    
    create unique clustered index ix_UniqueAssetTag
    on UniqueAssetTag(asset_tag)
    
    GO
    

    したがって、私の機器テーブルには、複数の null を許可するが一意の非 null 値のみを許可する asset_tag 列があります。

    注:mssql 2000 を使用している場合は、"SET ARITHABORT ON が必要です。 " テーブルで挿入、更新、または削除が実行される直前。これは mssql 2005 以降では必須ではありません。



    1. FGCB_ADD_REMOVEラッチ

    2. 緯度と経度のデータ型はどれですか?

    3. 複数のテーブルを参照する外部キー

    4. MySQLでテーブルを作成する前にテーブルがすでに存在するかどうかを確認する方法