У меня есть эта таблица SQLВСТАВИТЬ запись в таблицу SQL с колонкой IDENTITY
CREATE TABLE Notes(
NoteID [int] IDENTITY(1,1) NOT NULL,
NoteTitle [nvarchar](255) NULL,
NoteDescription [nvarchar](4000) NULL
) CONSTRAINT [PK_Notes] PRIMARY KEY CLUSTERED
(
NoteID ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
И я хочу, чтобы скопировать записи из временной таблицы, включающей в NoteID (с помощью SQL-запроса) ..
это мой сценарий:
SET IDENTITY_INSERT Notes OFF
INSERT INTO Notes (NoteID, NoteTitle,NoteDescription)
SELECT NoteID, NoteTitle,NoteDescription from Notes_Temp
SET IDENTITY_INSERT Notes ON
с этим сценарием, я получаю сообщение об ошибке:
Cannot insert explicit value for identity column in table 'Notes' when IDENTITY_INSERT is set to OFF.
Есть ли другой способ вставки записей в таблицу с идентификационным столбцом с использованием SQL-запроса?
спасибо @astander. когда я пробовал это, у меня появилась другая ошибка: «Имя столбца или количество заданных значений не соответствует определению таблицы». – Eytch
упс! никогда не комментирую мой комментарий, я сделал глупую вещь, и ошибка, о которой я упомянул, была для другой строки моего сценария. В любом случае, смена OFF и ON вокруг решила мою проблему, спасибо большое – Eytch