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

Откуда:
Сообщений: 30
Народ, подскажите, почему deleted и inserted не видны в динамическом запросе внутри триггера? И как все-таки выполнить этот запрос?

CREATE TRIGGER tr_SalesHistory ON SalesHistory
FOR UPDATE
AS
BEGIN
DECLARE @sql NVARCHAR(2000)
SET @sql = 'select * from inserted'
--PRINT @sql
EXEC sp_executeSql @sql
END


Msg 208, Level 16, State 1, Line 1
Invalid object name 'inserted'.
1 сен 09, 22:41    [7605742]     Ответить | Цитировать Сообщить модератору
 Re: Динамический запрос в триггере.  [new]
pil0t
Member

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

при выполнении EXEC sp_executeSql @sql используется независимый контекст
http://msdn.microsoft.com/ru-ru/library/ms188001.aspx
если очень надо динамический sql в триггере - пробуй CLR Trigger-ы
1 сен 09, 23:06    [7605770]     Ответить | Цитировать Сообщить модератору
 Re: Динамический запрос в триггере.  [new]
san_d
Member

Откуда: Киев
Сообщений: 60
так работает :)
select * into #inserted from inserted
DECLARE @sql NVARCHAR(2000)
SET @sql = 'select * from #inserted' 
--PRINT @sql
EXEC sp_executeSql @sql 
1 сен 09, 23:11    [7605773]     Ответить | Цитировать Сообщить модератору
 Re: Динамический запрос в триггере.  [new]
x3mka
Member

Откуда:
Сообщений: 30
Спасибо, вопрос закрыт.
2 сен 09, 00:12    [7605910]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить