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

Откуда:
Сообщений: 129
Есть секционированная вьюшка с INSTEAD OF тригером которая обьединяет две таблицы с identity (значения не пересекаются- у каждой свой сид).
INSERT с OUTPUT-ом вставляет записи и возвращает все поля кроме поля с IDENTITY. Трюк с @@IDENTITY вместо SCOPE_IDENTITY() не устраивает, т.к. вставляю много строчек.
Подскажите как быть?
14 июн 16, 19:43    [19293249]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
В такой постановке -- только выбирать из таблиц после вставки по какому-то другому ключу.
14 июн 16, 20:26    [19293356]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
iap
Member

Откуда: Москва
Сообщений: 47001
Или перед вставкой создать временную таблицу,
а в триггере в INSERTе - дописать OUTPUT в эту временную таблицу.
14 июн 16, 20:51    [19293451]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
Daba
Member

Откуда:
Сообщений: 129
Гавриленко Сергей Алексеевич,
Да, так пожалуй можно, но с точки зрения производительности - полный отстой.

Странно, что так.
15 июн 16, 00:02    [19294022]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31442
Daba
Да, так пожалуй можно, но с точки зрения производительности - полный отстой.
А откуда получится большая разница в производительности? Почти без разницы, по моему.
Вот специально создавать для этих целей ключ - это да, полный отстой.
15 июн 16, 00:29    [19294037]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
Daba
Member

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

от необходимости делать JOIN с исходной таблицей по логическим ключам. Просто как в доисторические времена, когда не было OUTPUTa. При высокой нагрузке это может неслабо подкосить.
15 июн 16, 15:53    [19296125]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
invm
Member

Откуда: Москва
Сообщений: 9406
Daba,

Почему бы не перейти на sequence, если версия сервера позволяет?
15 июн 16, 16:27    [19296332]     Ответить | Цитировать Сообщить модератору
 Re: INSTEAD OF TRIGGER и OUTPUT  [new]
Daba
Member

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

Позволяет. Будем подумать.
16 июн 16, 18:18    [19301761]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить