Мне нужно сделать следующее: на вставленной записи мне нужно сохранить идентификатор вставленного элемента и идентификатор выбранного элемента.(Пример ниже) Я использую после триггера вставки (в основном я копирую одну строку из одной таблицы в другую и делаю еще несколько модификаций. У меня есть такой параметр таблицы:
DECLARE @Tempequipment TABLE
(Equipment_Id int,
DefaultEquipment_Id INT)
Затем я вставляю в таблицукак это:
INSERT INTO dbo.tblEquipmentType
( Name, EquipmentType_Id)
SELECT name,(SELECT Equiment_Id FROM INSERTED)
FROM dbo.tblDefaultEquipmentType
Это прекрасно работает!
Что мне нужно сделать, это: мне нужно вставить в @TempEquipment
EquipmentTypeId, которые были только что вставлены (может быть больше одного) иDefaultEquipmentTypeId, которые были только что скопированы.
Я думал о том, чтобы сделать что-то вроде:
INSERT INTO dbo.tblEquipmentType
( Name, EquipmentType_Id)
Output EquipmentTypeId, DefaultEquipmentTypeId into @TempEquipment
SELECT name,(SELECT Equipment_Id FROM INSERTED)
FROM dbo.tblDefaultEquipmentType
, но, конечно, это не сработает, так как он не может получить значения из оператора выбора, а ненаписано правильно. Любая помощь приветствуется!
ОБНОВЛЕНИЕ:
У меня есть предмет. Предмет может быть построен на различном оборудовании. Оборудование имеет типы (внешний ключ. И equipmentType имеет атрибуты (foreignkey).
Таким образом, это означает, что у нас есть четыре таблицы Item-> Equipment-> EquipmentType-> EquipmentAttribute. Мне нужно хранить стандартные EquipmentTypes и стандартные EquipmentAtатрибуты для этого типа.
Таким образом, я также получил эти отношения: Equipment-> DefaultEquipmentType-> DefaultEquipmentAttribute.
Теперь, когда я вставляю новый элемент и выбираю оборудование, я хочу скопировать значения по умолчанию в реальные таблицы (EquipmentType, EquipmentAttribute).Это хоть немного понятно?