У меня есть следующий триггер в таблице для базы данных SQL Server 2008. Он рекурсирует, поэтому мне нужно остановить его.
После того, как я вставляю или обновляю запись, я пытаюсь просто обновить одно поле в этой таблице.
Здесь триггер:
ALTER TRIGGER [dbo].[tblMediaAfterInsertOrUpdate]
ON [dbo].[tblMedia]
BEFORE INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON
DECLARE @IdMedia INTEGER,
@NewSubject NVARCHAR(200)
SELECT @IdMedia = IdMedia, @NewSubject = Title
FROM INSERTED
-- Now update the unique subject field.
-- NOTE: dbo.CreateUniqueSubject is my own function.
-- It just does some string manipulation.
UPDATE tblMedia
SET UniqueTitle = dbo.CreateUniqueSubject(@NewSubject) +
CAST((IdMedia) AS VARCHAR(10))
WHERE tblMedia.IdMedia = @IdMedia
END
Может ли кто-нибудь сказать мне, как я могу предотвратить запуск триггерной вставки с другого триггера снова?