2017-03-07 6 views
1

免責事項:私は同様の質問を読みましたが、それは異なります。注文に関係なく2つの列に一意の制約があります - Oracle

「DEPART」と「ARRIVE」の3つの長い文字(LONからLAXへの飛行)と距離、およびその他のエントリを含むフライトテーブルを作成する必要があります。 主な制約は、DEPART到着し、その後、チェック

  • チェックDEPART>:。とペア(方向は関係ありません)に関係なく、自分のためのユニークである必要があり、私は(そう示唆していない)行うことができますが、私たちがすることはできません知っている何 に到着ユニーク
  • DEPARTキーとARRIVEプライマリキーを作成します(これは解決しませんが、一緒にも単独ではありません)
  • キーである他のテーブルからそれらを参照します。

どのようにペアがテーブルに存在するかどうかを確認できますか?私は工業的な仕事ではない、大学の科目であると言わなければならない。 Oracle SQLDeveloperを使用します。 ありがとうございます!よろしくです。 よろしくお願いします。

答えて

4

Oracleはそう、式のインデックスをサポートしています。

create index unq_t_from_to on t(least(from, to), greatest(from, to)) 

(彼らはカラム名のために非常に良いものではありませんので、もちろん、fromtoはSQLでキーワードです。)

+0

ああ、私の悪い、って編集する(実際の名前ではない) –

+0

ありがとう! 't(最小(から)、最大(から)へ)でユニークなunq_t_from_toを作成する ' が解決策でした。自分で見つけられませんでした。 ty –

+0

** SUBQUESTION **私は少なくとも一人で一人でやってみましたが、それでも動作します。あなたは、最小/最大のことは何を説明できますか(とにかく彼らは何ですか?) :) –

関連する問題