Ниже приведен пример формата для вставки выбранных строк из таблицы 1 в таблицу 2 на основе условия выбора.
Я отредактировал запрос в соответствии с вашими требованиями, чтобы сгенерировать первичный ключ вручную для таблицы 2
Declare @pk_StartIndex int
Set @pk_StartIndex = 79 --This is initial index that you will have to set
manually, for each row returned in select query below the index value will
be incremented by one
INSERT INTO table2 (PrimaryKey, column1, column2, column3)
SELECT @pk_StartIndex + Row_Number() Over(Order By (Select 100))
column1, column2, column3
FROM table1
WHERE condition
Row_Number поможет вам сгенерировать числа, начиная с предоставленного индекса начала.
в предложении (выберите 100) убедитесь, что число достаточно больше, чем количество строк, которое вы ожидаете, что запрос select возвратит
DECLARE @pk_tercero_contacto int
SELECT @pk_tercero_contacto = max(tercero_id) FROM TD_TERCERO_CONTACTO
INSERT INTO TD_TERCERO_CONTACTO (tercero_id, login, <your column name>,
<your column name>, description, notificaciones, <your column name>, <your
column name>, <your column name>, <your column name>, defecto)
SELECT @pk_tercero_contacto + Row_Number() Over(Order By (Select 100)),
t.login, null, null, t.description, t.notificaciones, t.tercero_id, null,
null, null, t.defecto
FROM TD_TERCERO_USUARIO as t