INSERT do tabeli, gdy warunek zwraca więcej niż jeden wiersz

0

Witajcie,

mam taki problem, zdefiniowałem sobie triggera na tabeli TABELA i badam na niej zmiany. Gdy zachodzi UPDATE sprawdzam to i chce przepisywać nazwę pola 'name' do swojej tabeli, żeby wiedzieć jaka nazwa została zmodyfikowana i przy okazji trzymać dokładny czas tej modyfikacji. Zmodyfikowana nazwa jest w systemie oznaczana przez zmianę kolumny 'aktywna_nazwa' na wartość inną niż '-1' Problem jest taki, że czasem mój SELECT zwraca więcej niż jeden wiersz i nigdy nie wiem ile ich będzie ponieważ ilość nazw które może zmienić użytkownik jest dowolna. Jak mogę wykonać tyle INSERTów ile SELECT zwróci mi wierszy?

IF @action = 'U' --@action to wynik badania w triggerze, czy na tabeli był Update, Insert, czy Delete
if((SELECT name FROM inserted) IS NOT NULL)
	INSERT INTO nazwy VALUES ((SELECT name  FROM inserted WHERE aktywna_nazwa > -1), SYSTEMDATETIME())
END
0
INSERT INTO nazwy SELECT name, SYSTEMDATETIME()  FROM inserted WHERE aktywna_nazwa > -1
0

działa aż miło, dziękuję

1 użytkowników online, w tym zalogowanych: 0, gości: 1