Как видно из заголовка, я пытаюсь обновить специфическую строку и столбец в одной таблице, основываясь на том, что специфичный столбец в другой таблице в другой таблице обновлен до,Я не смог найти ничего о переполнении стека, что-то конкретное для того, что я пытаюсь сделать.Пока что это либо обновление одной таблицы на основе той же таблицы, либо создание обновления на основе того, изменился ли столбец (не ищет конкретное значение).
Тем не менее, я пока собрал следующеекод из моего исследования переполнения стека:
CREATE TRIGGER trUpdateTaskToComplete on [DBName].[dbo].[Projects]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE [DBName].[dbo].[TaskTracker]
SET Complete=1
FROM [DBName].[dbo].[Projects] t
INNER JOIN inserted i on t.id = i.id
AND i.Status='Complete'
END
Это делает 90% того, что мне нужно, за исключением того, что он обновляет ВСЕ строки в таблице TaskTracker, связанной с идентификатором проекта.Как я могу заставить его установить только Complete = 1 в строках, где Task (столбец из TaskTracker) имеет значение «ProjectIsComplete»?Я пробовал что-то вроде этого:
UPDATE [DBName].[dbo].[TaskTracker]
SET Complete=1
WHERE Task = "ProjectIsComplete"
FROM [DBName].[dbo].[Projects] t
INNER JOIN inserted i on t.id = i.id
AND i.Status='Complete'
, но кажется, что SQL Server не для этой жизни.Что я могу сделать, чтобы мой триггер работал?Примечание: я только то, что поле, установленное для заполнения для строк, которые имеют значение задачи «ProjectIsComplete» И все еще для связанного идентификатора.Спасибо за любой совет, который может быть предложен!