0

たとえば、0-10、10-20、20-30 などの weight_break という名前のテーブルがあります。

上記の値を、以下に示す列名 (PK、FK、FROM_WEIGHT、TO_WEIGHT) を持つテーブル WEIGHT_BREAK に 3 つのレコードとして保存します。

PK| FK| FROM_WEIGHT| TO_WEIGHT|

100| T1| 0| 10|

101| T1| 10| 20|

102| T1| 20| 30|

注: 3 つのレコードはすべて、3 つの行すべてで同じ値を持つため、FK 列によって関連付けられています。

ユーザーが 0 ~ 10、10 ~ 20、20 ~ 30 を再度挿入しないように、基本的にこれら 3 つのレコードをまとめて確認したいと思います。DBクエリでこの複数行の等しいチェックを行うにはどうすればよいですか?

4

2 に答える 2

0

次のように FROM_WEIGHT と TO_WEIGHT を一意にすることができます。

alter table weight_break 
add constraint unq_weight_class UNIQUE(FK, FROM_WEIGHT, TO_WEIGHT);

このように、ユーザーは同じ FK に対して上記のテーブルに 0 ~ 11 などの重みクラスを入力できますが、別の 0 ~ 10 を挿入することはできません。

お役に立てれば。

于 2013-06-28T14:02:18.193 に答える