как удалить записи из table
есть две таблицы:
--First Table
CREATE TABLE SimulatedResult.SimulatedResultGroup
(
Id INT PRIMARY KEY,
GroupName VARCHAR(255)
);
--Second Table
CREATE TABLE SimulatedResult.EventForSimulateGroup
(
Id INT PRIMARY KEY,
EventId int,
SimulatedResultGroupId INT FOREIGN KEY REFERENCES SimulatedResult.SimulatedResultGroup(Id)
);
хочу удалить записи с первой таблицы(SimulatedResultGroup) и все записи которые связаны с ним во втором таблице
Ответы (2 шт):
Автор решения: antray
→ Ссылка
Вы либо должны добавить во второй таблице внешнему ключу свойство ON DELETE CASCADE, и тогда при удалении данных из первой таблицы будут автоматически удаляться из второй, либо писать запрос на удаление с сравнением полей.
Автор решения: HackerU
→ Ссылка
Для того, чтобы автоматизировать этот процесс стоит повесить триггер на процесс удаления первой таблицы.
CREATE TRIGGER TRG_DEL
ON SimulatedResult.SimulatedResultGroup
FOR DELETE
AS
delete from SimulatedResult.EventForSimulateGroup
where SimulatedResultGroupId in (select id from DELETED );
Теперь при удалении записи из SimulatedResultGroup будут автоматически удаляться записи из EventForSimulateGroup