Я использую SQL Server 2017, и у меня есть таблица Participants
, которая имеет 2 столбца, user_id
и active
.user_id
- это первичный ключ, а active
- логическое значение для логического удаления.
Я написал триггер, который при удалении строки просто устанавливает active=0
и запись остается.
ALTER TRIGGER [dbo].[PDel]
ON [dbo].[Participants]
INSTEAD OF DELETE
AS
BEGIN
UPDATE Participants
SET active = 0
WHERE user_id IN (SELECT user_id FROM deleted)
END
Теперь я хочу написать триггер, который, когда я хочу вставить в таблицу Participants
, должен сначала проверить, доступна ли эта запись.Если он доступен, просто установите active = 1
, а если нет, вставьте эту запись в таблицу.
Что я должен сделать, чтобы написать такой код?