Про то, как без триггеров - выше уже сказали, а если-таки что-то потребуется в триггере, то следует иметь в виду, что сущности inserted, deleted - это таблицы с возможно
более чем одной записью.
Соответственно по ним надо проходится либо курсором (классика со своими подводными камнями), циклом (тоже есть свои нюансы), либо join-ом (не всегда возможно).
По сути канва:
ALTER TRIGGER [dbo].[t_del_test]
ON [dbo].[s_test] INSTEAD OF DELETE
AS
DECLARE @id int; -- сюда будем гадить для каждой строки
declare cur_for_delete cursor for select id_test from deleted; -- объявляем курсор
open cur_for_delete; -- открываем
fetch cur_for_delete into @id; -- получаем первую строку
while @@fetch_status=0 begin -- пока есть что получать
DELETE FROM test_task WHERE id_test = @id;
DELETE FROM s_test WHERE id_test=@id;
fetch cur_for_delete into @id; -- тянем следующую строку из курсора
end
close cur_for_delete; -- не забываем закрыть
deallocate cur_for_delete
по второму триггеру - аналогично