У меня есть отношения между двумя объектами в моей базе данных. Поэтому, прежде чем создать одну строку нужно удалить строку в соотношении объекта, например, так:Azure SQL, перед запуском?
user userHous
id 1 1 2
Так что, когда я удалить строку пользователя, он должен сделать, прежде чем триггер и удалить userHous.
в Mysql это было легко сделать с моим старым триггером:
USE `db`;
DELIMITER $$
CREATE DEFINER=`user`@`ip` TRIGGER `BDEL` BEFORE DELETE ON `user`
FOR EACH ROW
begin
DELETE FROM user WHERE userid = OLD.userid;
DELETE FROM house WHERE userid = OLD.userid;
end
Я не уверен, как идти об этом с { FOR | AFTER | INSTEAD OF }
Я сделал это
CREATE TRIGGER [dbo].[Trigger]
ON [dbo].[user]
INSTEAD OF DELETE
AS
BEGIN
DELETE FROM userHouse WHERE userid = userid;
DELETE FROM user WHERE userid = userid;
END
Но это просто удаляет все строки в обоих таблицах, я думаю, потому что я положил userid = userid. Как получить «параметр», который был в запросе, вызвавшем триггер?
не забудьте принять это как ответ, если он работает так, что будет также помочь людям, которые имеют ту же проблему – Ansel