Я запутался в поведении Management Studio. Я создал простой триггер для тестирования (действие UPDATE), он должен отображать сообщение (печать) на вкладке «Сообщения», но не отображается вкладка «Сообщения», и я не вижу никакого вывода. Если я выполняю любой другой запрос, это нормально, я мог видеть вкладку вкладки и вкладки результатов. Триггер сам работает (данные меняются).SQL Server Management Studio - PRINT от триггера, не отображающего
Вот мой код:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[Trigger1]
ON [dbo].[TestTable]
FOR UPDATE
AS
PRINT ('YAHOOOOO!!!') /* can't see this message */
UPDATE TestTable
SET TestData = 'testitem'
WHERE (TestId = 2)
Вы действительно выполняете инструкцию 'UPDATE', которая запускает триггер? Тот, который указан в вопросе, является частью определения триггера, а не отдельным утверждением. Это похоже на ошибку. Вам нужно «GO» после инструкции «PRINT», так что это отдельная партия. –
Привет, Мартин! Спасибо за ответ. Чтобы проверить его, я просто нажимаю TestTable -> Edit Top 200 Rows, а затем вручную значение изменения в строке # 10 f.e. и сразу же строка # 2 изменит значение столбца TestData на «Anna», поэтому я думаю, что триггер работает, извините, я очень новичок – igorGIS
Если вы делаете это в графических инструментах в SSMS, это, вероятно, просто не отображает эти ошибки сообщений в любом месте. Попробуйте запустить инструкцию 'UPDATE' из нового окна запроса вместо использования редактора пользовательского интерфейса. –