2

次のような tbl_User テーブルがあります Table1

Id       Name        ReportingId
==
1        Stala       Null
2        Coma        1
3        Rita        1
4        Rosy        2

私はそれを制限する必要があります:

Id       Name        ReportingId
==
1        Stala       1
2        Coma        2
3        Rita        3
4        Rosy        4

そのCASE 2を制限する必要があります:

Id       Name        ReportingId
==
1        Stala       1
2        Coma        5
3        Rita        3
4        Rosy        8

テーブルに制約を与えることでこれは可能ですか?

また

テーブルのパフォーマンスを妨げてはならない他の簡単な方法はありますか?

4

1 に答える 1

8

テーブルの作成後にこれらの値を防止するチェック制約を追加します。

alter table Table1 add CONSTRAINT ck_reportingId check(ReportingId <> Id)
于 2012-04-17T11:08:59.283 に答える