Absence
PKのあるテーブルがありますAbscenceId
(スペルミスがあります)。別のテーブルNote
があり、FKがAbsence
呼び出さAbsenceId
れています(今回は正しいスペルです)。FK制約は次のとおりです。
ALTER TABLE [dbo].[Note] WITH CHECK ADD CONSTRAINT [FK_Note_Absence] FOREIGN KEY([AbsenceId])
REFERENCES [dbo].[Absence] ([AbscenceId])
GO
が削除されたとき、私はそれと一緒に行きAbsence
たいです。は他のものにも属することができるので、Notes
私はこれを行うことができませんでした。CASCADES
Note
そこで、不在が削除されたときにメモを削除するトリガーを作成しました。
ALTER TRIGGER [dbo].[TR_OnAbsenceDelete] ON [dbo].[Absence]
FOR DELETE AS
DELETE FROM [Note]
WHERE AbsenceId IN ( SELECT AbscenceId FROM Deleted )
しかし、添付されてAbsence
いるを削除すると、次のようになります。Note
Msg 547, Level 16, State 0, Line 1
The DELETE statement conflicted with the REFERENCE constraint "FK_Note_Absence". The conflict occurred in database "ReturnToWork", table "dbo.Note", column 'AbsenceId'.
The statement has been terminated.�
トリガーが実行されていないようなものですか?