Вставить данные в таблицу взаимосвязей без identity_insert ON - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть сценарий, в котором мне нужно вставить некоторые основные данные в таблицу со сценарием, чтобы мы могли выполнить этот сценарий на рабочем сервере во время развертывания.

Мои таблицы

Category
 --Id (PK, Identity)
 --Name

CategoryType
  --Id (PK, Identity)
  --Name
  --CategoryID (FK) 

Теперь у меня есть несколько строк данных в excel для категории и категории. Я должен сгенерировать скрипт данных (связка оператора вставки).

Что я сделал

Start with  identity_insert ON 
insert statement for Category table
Insert statement for CategoryType table with respect of category PK
end  identity_insert Off

Я просто хочу знать, есть ли способ избежать включения / выключения identity_insert.

1 Ответ

1 голос
/ 16 декабря 2011

может быть это то, что вы ищете:

DECLARE @inserted table ( id int ) --assuming ID is int

INSERT INTO Category ( Name )
OUTPUT INSERTED.Id INTO @inserted
VALUES( 'MyCategory Name' )

INSERT INTO CategoryType( Name, CategoryID )
SELECT id, 'MyCategoryTypeName'
FROM @inserted

Надеюсь, это поможет
С наилучшими пожеланиями,
Йордан

...