пятница, 18 декабря 2015 г.

MS SQL INSERT в IDENTITY поле

Обычным INSERT не получиться для вставки в это поле его явно нужно указать в запросе на вставку и установить IDENTITY_INSERT в ON для таблицы в которую будет проводиться вставка. В заметке приведен пример как вставлять данные в такие столбцы.



Создаём тестовую таблицу с полем TEST_ID, которое заполняется IDENTITY.

CREATE TABLE DBO.TEST (
  TEST_ID int IDENTITY(1, 1) NOT NULL,
  TEST_TEXT varchar(MAX));

Теперь вставим в эту таблицу данные 


SET IDENTITY_INSERT DBO.TEST ON; 
insert into DBO.TEST (TEST_ID,TEST_TEXT) values (1,'ky-ky');
SET IDENTITY_INSERT DBO.TEST OFF;


insert into DBO.TEST (TEST_TEXT) values ('ky-ky');

Первый insert вставляет данные в столбец TEST_ID, второй получает значение автоматически.

Теперь проверим результат.


select * FROM DBO.TEST

Должно получиться следующее


Комментариев нет:

Отправить комментарий