-1

私はSQLで参照データの整合性に関する作業を行っています。

branch1nameと の3 つのテーブルがあるシナリオを作成したいと思いbranch2ますbranch3。外部キーを持つテーブルとBranch2結合Branch3されます。branch1

branch1テーブルに「アクティブ」を挿入すると、branch1テーブルにシステムを作成したいのですが、テーブルに「非アクティブ」を挿入すると、他の2つのテーブルは何も挿入できなくなります。テーブル。branch2branch3branch1

これはすべて、参照データの整合性を使用して作成したいものです。

だから助けてください私は試しましたが成功しませんでした

4

2 に答える 2

1

トリガーを使用できます。

BRANCH2およびのトリガーを使用して、テーブルでBRANCH3チェックすることができます。存在する場合は挿入を続行でき、存在しない場合は挿入をキャンセルできます。ACTIVEBRANCH1

構文については、 MSDN Create Trigger doco を参照してください。

簡単なグーグルで見つけたチュートリアルは次のとおりです。SQLトリガーの紹介@ SQLチーム


参照整合性も制御する必要がある場合は、これにもトリガーを使用できます。たとえば、親レコードが 1 つのテーブルから削除された場合、そのテーブルのトリガーは、最初に他のテーブルから子レコードを削除して、制約がブロックされないようにすることができます。消去。

ただし、質問に記載されている実際の親子関係がないため、参照整合性がどのように適用されるかわかりません。

于 2013-03-09T12:13:43.830 に答える
0

テーブルは他のテーブルにデータを挿入しません。クエリは行います。クエリに「where」句をいつでも追加して、更新を条件付きにすることができます。

于 2013-03-09T12:07:42.007 に答える