IDENTITY_INSERT

Дед Анвирыч

Новичок
IDENTITY_INSERT

SELECT * INTO tmp FROM xxx..card WHERE serial<=4523
UPDATE tmp SET blocked=1
INSERT INTO yyy..card SELECT * FROM tmp

В ответ:
An explicit value for the identity column in table 'bill..card' can only be specified when a column list is used and IDENTITY_INSERT is ON.

Что делать?
 

antonio

Moderator
Команда форума
Я так понял, что ты mssql юзаешь. Вставку в автоинкрементное поле можно разрешить в поставив в true соответствующую константу в настройках сервака, она может так и называется IDENTITY_INSERT - не помню как точно, но это не важно. Это стремная операция, поскольку автоинкремент - это уникальная последовательность и индекс по ней уникальный, если это поле у тя индексировано. Решение простое, в инсерте перечисли поля и в том же порядке перечисляй их в части селекта, ест-но исключи автоинкрементное поле, оно будет вставлено сервером автоматически.
 
Сверху