ユーザーを表すテーブルがあります。ユーザーが削除されると、次のようになります。
DELETEステートメントがREFERENCE制約と競合しています
どうやら、CASCADE DELETE
はSQL Serverで想像したほど簡単ではなく、オプションをテーブルに追加する必要があります。
問題は、CASCADE DELETE
オプションを追加する方法がわからないことです。
私は使用しています:SQL Server 2008。これを行う方法はありますか?
最初にこのマイクロソフトの記事を読んでください。 お読みください 。私は設計時にGUIを使用するので、これはSSMSでのGUIの選択方法の図です。 外部キーに追加された構文は "ON DELETE CASCADE"です。
Google ALTER TABLE DROP CONSTRAINT
、次にALTER TABLE ADD CONSTRAINT
:
ここに簡単な例があります:
CREATE TABLE A
(
ID INTEGER NOT NULL UNIQUE
);
CREATE TABLE B
(
ID INTEGER NOT NULL UNIQUE
CONSTRAINT fk__B__A
REFERENCES A (ID)
);
-- Oops! Forgot the CASCADE referential actions.
-- DROP the constraint then recreate it:
ALTER TABLE B DROP
CONSTRAINT fk__B__A;
ALTER TABLE B ADD
CONSTRAINT fk__B__A
FOREIGN KEY (ID)
REFERENCES A (ID)
ON DELETE CASCADE
ON UPDATE CASCADE;