2012-03-11 18 views
1

質問がありますが、プライマリキーと外部キーの値が常に等しいデータベースに新しいデータを挿入するにはどうすればよいですか?SQL Server PKとFKは常に等しい値

ex。 Nameテーブルに自分の名前を入力し、NameテーブルにPKとFKが入っています。私が新しいデータを挿入するたびに、FKは空でした。私はFKの値が異なるフィールド名であっても、PKの値と同じであると期待しています。上記

enter image description here

私のデータベースの関係です。新しいデータを挿入するたびにEventsID pk(Eventstbl)はEvnetsID FK(Organizationtbl)にコピーされません

+0

テーブル構造を表示できますか? – Matthew

+0

私はトリッキーな解決策を見つけました。最初にトップ1を選択し、最後の結果を得て1を追加してください – Sephiroth111

答えて

0

説明したように参照整合性は機能しません。トリガーの機能に適しています。 PKおよび外部キー制約の目的は、PKとして他のテーブルに存在しないデータの挿入を防止することです。したがって、前者に新しいレコードを挿入するときにEventstblからOrganizationtblにデータをコピーする場合は、Eventstblの挿入イベント用のトリガを作成する必要があります。あなたのPK-FK制約は、Organizationtblに新しいレコードを挿入すると、対応するEventsIDのEventstblテーブルをチェックします。存在しなければ、Organizationtblに新しいレコードを挿入することはできません。私はそれが助けて欲しい

0

まあ、挿入/更新後のトリガーであるEventsTblにトリガーを使用できます。したがって、このトリガーは必要な他のテーブルを挿入/更新することができます。 INSERTEDテーブルを使用して、PKの新しい値をキャッチすることができます。私はそれが助けて欲しい

関連する問題