私は現在 SQL Server Management Studio 2005 を使用しており、少し問題に直面していますが、最初に DB スキーマの抜粋 (重要なもの) を示します。
test
テーブルとそれが接続されている (構成されている) すべてのものから削除したい。
問題は、DB を変更できなくなったことです (DB を使用するプログラムがすでに大きくなりすぎているため、実際には変更したくありません)。
テーブル内のエントリを削除しようとして、対応する外部キー リレーションに対してカスケード DELETE がオンになっていると、DBMS は何らかのループ (おそらくテーブルtest
が原因) を検出したため、削除を実行できません。contr_tray
プログラムからエントリを手動で削除しようとすると (SqlCommandBuilder
またはcmd.ExecuteNonQuery())
を使用して、次のエラーが発生します。
DELETE ステートメントが REFERENCE 制約と矛盾しています ...
トリガーを使用して、削除プロセスを下に「カスケード」する場合も同じことが起こります。
誰でもここで私を助けることができますか? ありがとうございました!
PS: また、テーブルに属するすべての列subset
が単純に NULL になる結合テーブルを作成しようとしましたが、contr_tray
テーブルがレプリケート テーブルに結合され、SqlCommandBuilder
これを処理させましたが、私の SQL スキルは標準に達していないようです (つまり、私は SQL 構文を正しく理解していませんでした)[その後、必要なすべての ID の個別の値を取得することもできました ...]
どんな助けでも大歓迎です、そしてまた前もって感謝します。