Попробуйте это:
insert into MyTable(field1, field2, id_backup)
select field1, field2, uniqueId from MyTable where uniqueId = @Id;
Любые поля, не определенные, должны получить свое значение по умолчанию (который является обычно ПУСТЫМ если не определенный).
Определите все поля, но Ваше поле ID.
INSERT INTO MyTable (FIELD2, FIELD3, ..., FIELD529, PreviousId)
SELECT FIELD2, NULL, ..., FIELD529, FIELD1
FROM MyTable
WHERE FIELD1 = @Id;
insert into MyTable (uniqueId, column1, column2, referencedUniqueId)
select NewGuid(), // don't know this syntax, sorry
column1,
column2,
uniqueId,
from MyTable where uniqueId = @Id
Если "ключ" является Вашим полем PK, и это является авточисловым.
insert into MyTable (field1, field2, field3, parentkey)
select field1, field2, null, key from MyTable where uniqueId = @Id
это генерирует новую запись, копируя field1 и field2 от исходной записи
Я предполагаю, что вы пытаетесь избежать записи всех имен столбцов. Если вы используете SQL Management Studio, вы можете легко щелкнуть правой кнопкой мыши по таблице и «Сценарий как вставка» ... тогда вы можете повозиться с этим выводом, чтобы создать свой запрос.
Вы можете сделать так:
INSERT INTO DENI/FRIEN01P
SELECT
RCRDID+112,
PROFESION,
NAME,
SURNAME,
AGE,
RCRDTYP,
RCRDLCU,
RCRDLCT,
RCRDLCD
FROM
FRIEN01P
Там вместо 112 вы должны поместить номер максимального id в таблицу DENI / FRIEN01P.