I'm trying to create a basic database trigger that conditionally deletes rows from database1.table1 when a row from database2.table2 is deleted. I'm new to triggers and was hoping to learn the best way to accomplish this. This is what I have so far. Suggestions?
CREATE TRIGGER sampleTrigger
ON database1.dbo.table1
FOR DELETE
AS
IF EXISTS (SELECT foo
FROM database2.dbo.table2
WHERE id = deleted.id
AND bar = 4)
-- If there is a row that exists in database2.dbo.table2
-- matching the id of the deleted row and bar=4, delete
-- it as well.
-- DELETE STATEMENT?
GO
5条答案
按热度按时间7ivaypg91#
gpnt7bae2#
Better to use:
rta7y2nd3#
INSERTED
andDELETED
are virtual tables. They need to be used in aFROM
clause.v1uwarro4#
I would suggest the use of
exists
instead ofin
because in some scenarios that implies null values the behavior is different , soyb3bgrhw5#