SQL Server 2005 でこれを回避する方法はありますか?
(それは私を悩ませます、そして私がそれに遭遇するたびに私はストロップに陥ります.しかし、これは私が対処しなければならず、スタックオーバーフローに参加したのはこれが初めてです.私が持っている小さな正気を保存してください!)
DimensionTable:
id INT IDENTITY(1,1)
FactTable:
source_id INT NOT NULL、
target_id INT NOT NULL
「Fact.source_id」から「Dimension.id」への外部キーを作成し、カスケード削除とカスケード更新で設定しました。
「Fact.target_id」で同じことをしようとすると、カスケードがたどるパスが複数あるため、「ああ、いや、いや」というエラーが表示されました。
ここには他の外部キーは含まれていません。作成したいのは 2 つだけです。カスケードなしで 2 番目の外部キーを作成することはできますが、それは私にはかなりうんざりするようです。これは、手動で維持される一連のテーブルです (それらに触れることはめったにないため、クライアントはこれを行うために GUI に料金を支払う必要はありません)。このようなカスケードの削除/更新は非常に便利ですが、両方のフィールドにある場合。(私は一貫性が苦手です)
****泣き言****