Я пытаюсь создать дубликаты определенных строк в одной таблице с разными первичными ключами. В моей таблице много столбцов, поэтому я не могу указать столбцы . До сих пор я пытался скопировать интересующие меня строки во временную таблицу, например:
select * into #Temp from MyTable where col = value
Но затем, чтобы вставить значения из #Temp обратно в MyTable, мне пришлось бы
- Включить идентификационную вставку, чтобы можно было вставлять все строки без указания каждого из многочисленных столбцов
- Обновлять каждую строку в #Temp, чтобы иметь новые ключи, отличные от тех, что в MyTable
Есть ли более элегантное решение, чем то, как я предложил создать дублирующиеся строки в таблице?
Таблица в качестве визуального примера будет выглядеть следующим образом:
MyTable ( до)
|---------------------|------------------|------------------|
| Heading 1 | Heading 2 | Heading 2 |
|---------------------|------------------|------------------|
| 1 | 'abc' | 29573 |
|---------------------|------------------|------------------|
| 2 | 'bob' | 57302 |
|---------------------|------------------|------------------|
MyTable (после)
|---------------------|------------------|------------------|
| Heading 1 | Heading 2 | Heading 2 |
|---------------------|------------------|------------------|
| 1 | 'abc' | 29573 |
|---------------------|------------------|------------------|
| 2 | 'bob' | 57302 |
|---------------------|------------------|------------------|
| 3 | 'abc' | 29573 |
|---------------------|------------------|------------------|
| 4 | 'bob' | 57302 |
|---------------------|------------------|------------------|
К сожалению, ближайший ответ указал столбцы, которые не работают для меня: Как SQL создать дубликаты записей