Насколько я в курсе таблицы Inserted и Deleted это временные таблицы которые доступны только из тригеров и пользоваться ими в обычной хранимке нельзя. Например если у вас есть SQL-запрос на обновление вида:
Код:
update MyTable set MyField=MyValue where MyID=MyValue
и у вас есть тригер для таблицы MyTable
то будет вызван соответствующий тип тригера в области видимости которого будут доступны эти таблицы Inserted и Deleted.
Структура этих таблиц в точности повторяет таблицу вызвавшую тригер и содержит набор отобранных данных.
Вот пример из живой БД работы с таблицей Inserted:
Код:
CREATE TRIGGER [AddPhone] ON [dbo].[ObjPhone]
INSTEAD OF INSERT
AS
Declare @ObjectTypeID Int
Declare @NodeID Int
Declare @ObjectID Int
-- Определяем тип добавляемого объекта и узел на котором происходит добавление
Exec GetDicIndex 'DicObjectType', 'Телефон', @ObjectTypeID OUT
Exec GetDicIndex 'DicNode', @@servername, @NodeID OUT
-- Регистрируем объект и получаем его идентификатор
Insert dbo.Object (NodeID, ObjectTypeID) Values (@NodeID, @ObjectTypeID)
Set @ObjectID = Ident_Current('Object')
-- Вставляем новую запись
Insert ObjPhone (CountryID, CityID, Number, Extension, PhoneTypeID, ProviderID, ObjectID)
Select CountryID, CityID, Number, Extension, PhoneTypeID, ProviderID, @ObjectID
From Inserted