3

次の条件で、2 つの列 (id_1 と id_2) に一意のインデックス制約を作成しようとしています。

出来ますか?

ありがとう。

4

3 に答える 3

2

このような制限をサポートする宣言的な制約はありません。あなたが説明するシナリオは、一意の制約の要件を満たしていません。(制約を作成することはできますが、id_1 と id_2 に同じ値を持つ複数の行を追加することはできません。

この制限に基づいて挿入または更新を拒否することが意図されている場合は、行レベルのトリガーを使用してこれを実現できる可能性があります。

于 2011-02-18T14:51:52.827 に答える
0

これらの行をチェックしてトリガーに統合するクエリを作成することで、これを行うことができます。制約ではそれを行うことができず、一意の制約ではできません。一意の制約は、行に一意の値を強制します。つまり、制約内の 1 つまたは複数のフィールドについて、2 つの行が同じ値を持つことはできません。

于 2011-02-18T14:51:58.887 に答える
0

それは不可能です。との一意の制約はid_1id_2各行に と の異なる (一意の) 組み合わせを強制id_1id_2ます。それはあなたが説明していることとは正反対です。

トリガーを使用して要件を強制することもできますが、提供された情報が少ないため、それが最善の解決策であるかどうかはわかりません。

id_1複合外部キーも解決策になる可能性がありますが、何を参照しているのかわからないid_2ので、本当に言うのは難しいです。

于 2011-02-18T14:52:31.937 に答える