To pytanie jest blisko tego, czego potrzebuję, ale mój scenariusz jest nieco inny. Tabela źródłowa i tabela docelowa są takie same, a klucz podstawowy to unikalny identyfikator (identyfikator guid). Kiedy próbuję tego:
insert into MyTable
select * from MyTable where uniqueId = @Id;
Oczywiście dostaję naruszenie ograniczenia klucza podstawowego, ponieważ próbuję skopiować klucz podstawowy. Właściwie nie chcę w ogóle kopiować klucza podstawowego. Raczej chcę stworzyć nowy. Dodatkowo chciałbym selektywnie kopiować niektóre pola, a pozostałe pozostawić puste. Aby sprawy były bardziej skomplikowane, muszę wziąć klucz podstawowy oryginalnego rekordu i wstawić go do innego pola w kopii (pole PreviousId).
Jestem pewien, że istnieje proste rozwiązanie tego problemu, po prostu nie znam wystarczającej liczby TSQL, aby wiedzieć, co to jest.