2015-08-04 5 views
0

Я переношу свою заявку с одной базой данных на другую, сохраняя структуру таблицы так, как она есть. Я создаю те же таблицы в новой таблице и вставил значение, используя ссылку db. Я получаю сообщение об ошибке типа «Невозможно вставить явное значение для столбца идентификации в таблице« XYZ », если для параметра IDENTITY_INSERT установлено значение OFF». потому что таблица XYZ имеет ScreenConfigSettingAccessId как столбец идентификатораНевозможно вставить явное значение для столбца идентификации

Ниже приведен сценарий, я использую для создания таблицы и вставок значения

 CREATE TABLE [dbo].[XYZ](
[ScreenConfigSettingAccessId] [int] IDENTITY(1,1) NOT NULL, 
[APP_ID] [int] NOT NULL, 
[ScreenConfigSettingId] [int] NOT NULL, 
[RSRC_ID] [char](20) NOT NULL) 
) 


INSERT INTO [dbo].[XYX] 
     (
[ScreenConfigSettingAccessId] , 
[APP_ID] , 
[ScreenConfigSettingId] , 
[RSRC_ID] 
) 
SELECT 
[ScreenConfigSettingAccessId] , 
[APP_ID] , 
[ScreenConfigSettingId] , 
[RSRC_ID] 
FROM [olddatabase].[database name].[dbo].[XYX] 

в старой таблице значения ScreenConfigSettingAccessId будет 3 и 4.

I хотите вставить те же данные, которые старая таблица так установила IDENTITY_INSERT в ON и попыталась, но она все еще не позволяет вставлять.

В поисках предложений

+0

Кажется, он должен работать, если вы добавите 'SET IDENTITY_INSERT dbo.XYZ ON' непосредственно перед вставкой. Что говорит об ошибке при попытке вставки с идентификатором IDENTITY_INSERT? – ander2ed

+0

после 'SET IDENTITY_INSERT dbo.XYZ ON' в состоянии вставить данные :-) – sony

+0

Мне нужно «SET IDENTITY_INSERT dbo.XYZ OFF» после вставки справа? – sony

ответ

0

Необходимо указать таблицу. Проверьте синтаксис команды в SQL Books Online: SQL 2000 или SQL 2012 (синтаксис не изменился).

+0

Благодарим за помощь. Теперь можете вставить – sony