2
KB321843とthis questionで記述されている問題が発生しています。私は2008年にはMS SQL Server 2005(またはそれ以前)についてしか話しません。ON DELETE CASCADEを使用した複数のFKを同じテーブル(MSSQL2008)
これは最近のバージョンでは修正されることを本当に期待していましたが、それはそうではないようです。誰かがこれを確認することができますか(または、私がそれを働かせる方法を教えてください)?
私が望むセマンティクスは非常に簡単です。別のテーブルにN:Mの自己参照があります。このテーブルには元のテーブルに2つのFKがあり、 "メイン"テーブルのエントリの1つを削除すると、他のアイテムへの接続は必要ありません。 NULLとDELETEが混在している場合でも、直接的な実装が可能です。たとえば、Postgres 8.1ではこのユースケースには全く問題はなく、TOTALLYは期待どおりに動作します。 –
Postgresは何をしていますか? – gbn
接続テーブル(X、Y)を指定します.XはON DELETE CASCADEを指定し、YはON DELETE SET NULLを指定し、タプル(3,2)と(2,3)を含みます。参照先のテーブルでid = 3のタプルを削除した後、接続テーブルには(2、NULL)が含まれます。他に何がすべきか? –