2012-01-25 30 views
0

こんにちは、私はプログラミングとデータベース作業でnewbyです。私は外来キーに関連する質問があります。テーブルで外部キーを設定する

SQL Server 2008に2つのテーブルがあります。CallDetails、PageDetails。

PageDetailsテーブル。

PageId PageLoadTime PageUnloadTime 
     1  12:00PM   1:00PM 
     2  1:00PM   2:00PM 
     3  2:00PM   3:00PM 

CallDetails表

CallId CallStartTime CallEndTime 
     1  12:05PM  12:10PM 
     2  12:15PM  12:25PM 
     3  02:35PM  02:40PM 

は今、私はCallId時間がPageDetails継続時間の間でなければなりませんCallDetaiuls表内のページIDとして1以上Cloumnをしたいです。同様に、CallId 1はPageId 1、CallId 2はPageId 1、CallId3はPageIdを持っています。3.

私はCallDetailsテーブルに外部キーを与えることでこれを行うことができます。 ?

答えて

1

外部キーは、CallDetailsのPageId列の値がPageDetailsテーブルで発生する必要があります。

*(あなたのケースで有用ではない)CHECK制約 http://msdn.microsoft.com/en-us/library/ms188258.aspx

*(より複雑なロジックのため、別のテーブルからのデータなどと比較)DMLトリガー http://msdn.microsoft.com/en-us/library/ms189799.aspx:他のすべてのロジックのためには、例えば使用することができます *アプリケーション内の独自のロジック。

この場合、私はトリガを使用します。また、アプリケーション側に別のロジックがある場合もあります。

+0

ありがとう、私は私の答えを得た私は挿入ステートメント....私のwhere条件を実装しています。その作業とright pageIDを取得します。しかし、まだ私は良い答えを探しているので、あなたのリンクは私に役立つだろうありがとう – Hiren

関連する問題