Как вставлять данные в таблицу и одновременно их изменять?

Есть такой запрос:

Insert into Таблица2(Код, Столбец2, Столбец3...)
Select Код, Столбец2, Столбец3... From Таблица1 
Where Таблица1.СтолбецN = '...'

Необходимо, чтобы при копировании строк из Таблицы1 в Таблицу2, поле Код уже имело новое значение. Допустим (MAX(Таблица1.Код) + 1). Как это сделать одним запросом?


Ответы (1 шт):

Автор решения: Mike

Например так:

Insert into Таблица2(Код, Столбец2, Столбец3...)
Select MaxCode+Таблица1.Код, Столбец2, Столбец3...
  From Таблица1, (select max(Код) MaxCode from Таблица2) x
Where Таблица1.СтолбецN = '...'

Предварительно проверьте на select без insert устраивает ли получаемая нумерация

→ Ссылка