私はasp.netでSQL Server2005を使用しています。私はここで私は2つのテーブル会社と支店を使用している重複したエントリを制限するためにサーバー側で検証をしたい。ブランチテーブルでは、CompanyIdの外部キーを維持していました。支店では支店名は重複することができますが、特定のCompanyIdでは使用できません。同じ外部キー参照ではなく、テーブルに重複値を許可するクエリ
Companies Table:
Columns: CompanyId (Primary Key), CompanyName
Branches Table :
Columns: BranchId(Primary Key), BranchName, CompanyId (Foreign Key).
企業IDは複数回、1対多のリレーションシップを繰り返すことができます。 同じCompanyIdではなく、重複を許可するクエリはどちらですか?
ああ私にそれを打つ:) +1 –
会社IDは複数回繰り返すことができます。 – Ritu
@ Ritu:はい、あなたの問題は...? Damiensのソリューションは、独自のcontsraintや複合主キーを持つ私のソリューションで使用できます。どちらも重複を回避します(同じCompanyIDの同じBranchName)。あなたの質問は、どのように特定の組み合わせが既にデータベースに存在するかを照会する方法です。あなたはそれを挿入しようとするか、または最も単純な方法である制約の例外をキャッチするか、挿入の前にテーブルを調べる(遅い)クエリを書くことができます。 –