Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как обратиться из тригера к таблице Inserted в которой нет поля IDENTITY?  [new]
11111111111111
Guest
Делаю тригер на таблицу (after insert), в которой нет ни поля IDENTITY ни одного первичного ключа типа int, следовательно никак не могу обратиться к таблице Inserted по идентификатору, равному @@IDENTITY.
Скажите, существует ли возможность обращаться к только что вставленной в таблицу сроке, у которой нет идентификатора identity или первичного ключа? Логический ключ у таблицы есть, на нем даже есть индекс, но это поле текстовое, оно не генериться автоматически, а приходит из инструкции insert. Можно ли обращаться непосредственно к полю только что вставленной в таблицу строки и не всех строк в таблице Inserted?
13 ноя 09, 13:34    [7925791]     Ответить | Цитировать Сообщить модератору
 Re: Как обратиться из тригера к таблице Inserted в которой нет поля IDENTITY?  [new]
Saller
Member

Откуда: exUSSR
Сообщений: 1141
Ну так обращайтесь. В чем трудности?
13 ноя 09, 13:36    [7925810]     Ответить | Цитировать Сообщить модератору
 Re: Как обратиться из тригера к таблице Inserted в которой нет поля IDENTITY?  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
11111111111111
Делаю тригер на таблицу (after insert), в которой нет ни поля IDENTITY ни одного первичного ключа типа int, следовательно никак не могу обратиться к таблице Inserted по идентификатору, равному @@IDENTITY.
Скажите, существует ли возможность обращаться к только что вставленной в таблицу сроке, у которой нет идентификатора identity или первичного ключа? Логический ключ у таблицы есть, на нем даже есть индекс, но это поле текстовое, оно не генериться автоматически, а приходит из инструкции insert. Можно ли обращаться непосредственно к полю только что вставленной в таблицу строки и не всех строк в таблице Inserted?
Все строки в псевдотаблице inserted - это только что вставленные строки!
13 ноя 09, 13:42    [7925862]     Ответить | Цитировать Сообщить модератору
 Re: Как обратиться из тригера к таблице Inserted в которой нет поля IDENTITY?  [new]
11111111111111
Guest
Если я правильно понимаю, таблица Inserted содержит много записей, всех вставляемых раннее сторок? Или она очищается каждый раз?
13 ноя 09, 13:45    [7925890]     Ответить | Цитировать Сообщить модератору
 Re: Как обратиться из тригера к таблице Inserted в которой нет поля IDENTITY?  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
11111111111111
Если я правильно понимаю, таблица Inserted содержит много записей, всех вставляемых раннее сторок? Или она очищается каждый раз?
Скорее, она СОЗДАЁТСЯ каждый раз!
На самом деле она виртальная, нигде не хранится и доступна только внутри триггера.
Содержит много записей, если вставилось много записей одним INSERTом.
13 ноя 09, 13:51    [7925944]     Ответить | Цитировать Сообщить модератору
 Re: Как обратиться из тригера к таблице Inserted в которой нет поля IDENTITY?  [new]
11111111111111
Guest
Спасибо большое!
В msdn не было написано что она каждый раз создается при совершении события на таблице.
13 ноя 09, 13:53    [7925964]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить