Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 проблема с IDENTITY_INSERT  [new]
kabee
Member

Откуда:
Сообщений: 22
Есть таблица table, в которой поля a0,a1,a2,a3,a4 ( причем у a3 автоинкримент )
запрос такой:
  SET IDENTITY_INSERT [table] On;
   Insert into [table]  (a0,a1,a2,a3,a4) values (1,1,1,1000,1);
  SET IDENTITY_INSERT [table] Off;


ошибка такая:
Explicit value must be specified for identity column in table 'Devices' either when IDENTITY_INSERT is set to ON or when a replication user is inserting into a NOT FOR REPLICATION identity column.

вот такой запрос проходит нормально:
  SET IDENTITY_INSERT [table] Off;
   Insert into [table]  (a0,a1,a2,a4) values (1,1,1,1);
  SET IDENTITY_INSERT [table] On;


1. В чем может быть проблема?
2. Как кроме автоинкримента игорировать и триггеры, и ограничения, и индексы?
21 окт 12, 15:00    [13352317]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
Spinifex
Member

Откуда:
Сообщений: 55
kabee,

М... Может первый скрипт выполняется, а второй валится с такой ошибкой?
21 окт 12, 16:44    [13352519]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Spinifex
kabee,

М... Может первый скрипт выполняется, а второй валится с такой ошибкой?
По-моему ни один не может дать такую ошибку.
Оба правильные.
21 окт 12, 17:55    [13352674]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
iap
Spinifex
kabee,

М... Может первый скрипт выполняется, а второй валится с такой ошибкой?
По-моему ни один не может дать такую ошибку.
Оба правильные.
Другое дело, SET IDENTITY_INSERT может быть установлено в ON для другой таблицы.
Но тогда для первого запроса первым будет другое сообщение,
в котором будет информация о том, для какой же таблицы установлен этот параметр в ON.
21 окт 12, 18:03    [13352699]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8727
Чо вообще за херь?:

SET IDENTITY_INSERT [table] Off;
Insert into [table] (a0,a1,a2,a4) values (1,1,1,1);
SET IDENTITY_INSERT [table] On;

Вашу таблицу Дивайсиз, кстати, распишите здесь...
21 окт 12, 18:06    [13352701]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
SIMPLicity_
Чо вообще за херь?:

SET IDENTITY_INSERT [table] Off;
Insert into [table] (a0,a1,a2,a4) values (1,1,1,1);
SET IDENTITY_INSERT [table] On;

Вашу таблицу Дивайсиз, кстати, распишите здесь...
А чо? Всё хорошо...
a3-то в запросе нет.
21 окт 12, 18:14    [13352716]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8727
iap
SIMPLicity_
Чо вообще за херь?:

SET IDENTITY_INSERT [table] Off;
Insert into [table] (a0,a1,a2,a4) values (1,1,1,1);
SET IDENTITY_INSERT [table] On;

Вашу таблицу Дивайсиз, кстати, распишите здесь...
А чо? Всё хорошо...
a3-то в запросе нет.

Йопаный в зад, - сначала выключаеи ИдентИнс, вставляем что-то,- и затем его включаем Identity_Insert... И накуя это?
21 окт 12, 18:17    [13352729]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8727
Кстате, на таблице, скромно обозначенно как [table] можно посмотреть тригера - может оне вставляють какую херь в таблицу Дтвайсиз в поле, которое за каким что фигом тоже адентити...

PS Интересно, что будет интересного на ПАСС в ноябре...
21 окт 12, 18:19    [13352744]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
kabee
Member

Откуда:
Сообщений: 22
Действительно!!! есть триггер который генерирует поле a0. грубо говоря он делает а0=1000+а3.
необходимо его отключить на время вставки и включить после?
22 окт 12, 07:48    [13354301]     Ответить | Цитировать Сообщить модератору
 Re: проблема с IDENTITY_INSERT  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8727
kabee
Действительно!!! есть триггер который генерирует поле a0. грубо говоря он делает а0=1000+а3.
необходимо его отключить на время вставки и включить после?


Ага... Лучше нахер ещё и свет выключить во всём здании (в смысле - электроэнергию).

Ну а по-серьёзному, - ну как мы тебе тут можем дать совет по отключению некоего чрезжопного(?) триггера не зная логику работы всей системы? Не, ну серьёзно, братан.... Ты чо?
22 окт 12, 12:17    [13355681]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить