Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
Простой вопрос: везде написано, что можно для вывода сообщения на экран использовать команду Print. Пробовал ее использовать на разных серверах для вывода трассировки из триггера в MS SQL SMS. Но никакого сообщения нет, все пролетает со свистом. Может где-то чего-то надо настроить?
Использование Raiserror не устраивает, т.к. выводит, но обрывает выполнение.
1 июл 14, 20:47    [16245712]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
MS SQL SMS - это что за зверь такой?
1 июл 14, 20:59    [16245746]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
Гавриленко Сергей Алексеевич,

MS SQL Server Managment Studio
1 июл 14, 21:09    [16245765]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
serg0265
Но никакого сообщения нет, все пролетает со свистом. Может где-то чего-то надо настроить?
Использование Raiserror не устраивает, т.к. выводит, но обрывает выполнение.
Странно, в примере ниже сообщение от PRINT выводится, а Raiserror не обрывает выполнение...

USE [tempdb]
GO
CREATE TABLE [dbo].[test_trg]
(
	[id] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
	[name] [nvarchar](1000) NULL
)
GO
create trigger [dbo].[tri_test_trg] on [dbo].[test_trg]
for insert
as
raiserror('message raiserror', 1, 1)
print 'message print'
GO
select * from [dbo].[test_trg]
insert [dbo].[test_trg](name)values('abcd 1')
insert [dbo].[test_trg](name)values('abcd 2')
insert [dbo].[test_trg](name)values('abcd 3')
select * from [dbo].[test_trg]
GO
DROP TABLE [dbo].[test_trg]
1 июл 14, 22:08    [16245946]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
alexeyvg,

Но это простая процедура, как я понял, - не триггер. А с ними как раз какая-то проблема.
1 июл 14, 22:29    [16245998]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
alexeyvg,

Пардон, поторопился с выводом.
1 июл 14, 22:31    [16246007]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
alexeyvg,

Я понял свою ошибку: я наивный пытался добиться сообщения при редактировании записей в соседнем окне SMS редактирования. А там даже нет окна для вывода сообщений.
Вот тогда выходят сообщения от raiserror('test',16,1), а (...1,1) - нет.

Выходит невозможно отлаживать триггер при ручном редактировании данных из таблиц. Или как?
1 июл 14, 23:04    [16246129]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
Glory
Member

Откуда:
Сообщений: 104751
serg0265
при ручном редактировании данных из таблиц.

Что за команда такая "ручное редактирование" ? Как она передается серверу ? Как обрабатывает возвращаемые сервером сообщения ?
1 июл 14, 23:07    [16246145]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
Glory,

"Руками" меняем данные в окне редактирования СМС (см.скрин)

К сообщению приложен файл. Размер - 35Kb
1 июл 14, 23:25    [16246208]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
serg0265
Выходит невозможно отлаживать триггер при ручном редактировании данных из таблиц.
Возможно, не пользовался "редактированием".

Отлаживайте, написав команду INSERT. Тем более это быстрее раз в 10. Или в 100.
В общем, достаточно Ctrl+E нажать, и оно выполнилось, а в "окне редактирования" нужна куча движений мыши и куча нажатий клавиш.
2 июл 14, 00:52    [16246405]     Ответить | Цитировать Сообщить модератору
 Re: Вывод отладочного сообщения на экран из триггера  [new]
serg0265
Member

Откуда:
Сообщений: 165
alexeyvg,

Спасибо за простой и полезный совет!
2 июл 14, 10:02    [16247084]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить