データベースに 2 つのテーブルがあり、トリガーを使用してカスケードで削除したいと考えています。リレーションシップでカスケード削除を使用していましたが、この場合はより多くのテーブルがあり、SQL Server ではリレーションシップでカスケード削除を設定できません。これは循環が生じるためです。
そのため、リレーションシップでカスケード削除を設定できないテーブルのレジスタを削除するトリガーを作成したいと考えています。
私はこのトリガーを使用します:
CREATE TRIGGER trg_myTrigger
ON Componentes
AFTER DELETE
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
Delete from mytable2 where IDParentFromTable1 IN(select deleted.IDtable1 from deleted)
END
GO
ただし、外部キーのエラーが発生します。
なぜこのエラーが発生するのか本当にわかりません。
ありがとう。