Вниз
Скачать: CL | DM;

Как дублировать все записи в таблице   Найти похожие ветки 

← →
alxn   (2006-03-27 11:35) [0]

Как дублировать все записи в таблице
так все виснет
INSERT INTO TBL (FLD) SELECT FLD FROM TBL


← →
Sergey13 ©   (2006-03-27 11:44) [1]

Велика ли таблица и конечный смысл всего этого?


← →
Anatoly Podgoretsky ©   (2006-03-27 11:46) [2]

Добавить поле счетчик.


← →
alxn   (2006-03-27 12:26) [3]

Точнее --  надо дублировать группу записей ~100-500 шт. Какая разница.
Поле (ID) счетчик есть.
Буферную таблицу делать?


← →
Johnmen ©   (2006-03-27 12:30) [4]

А смысл?


← →
alxn   (2006-03-27 13:19) [5]

Смысл такой -- есть база рекламного журнала. Выходит каждую неделю. Рекламодатели дают одинаковую рекламу на несколько номеров, например 100 строк. Первый раз строки ввели руками, а в следующий номер хочется скопировать их из предыдущего, изменив номер журнала. Все предыдущие номера нужно хранить в исходном виде.


← →
sniknik ©   (2006-03-27 13:33) [6]

это не совсем дублирование получается... как минимум столбец с номером журнала разный будет...

> INSERT INTO TBL (FLD) SELECT FLD FROM TBL
так должно работать (в аксес/mssql бы точно сработало), если конечно структура правильная, ключ есть, + поле FLD без уникального индекса... (по мемо ;о))

и если не учитывать, что таблица нуждается в срочной нормализации... (если одно и тоже поле, и не маленькое, встречается в таблице по сто раз ;)... ну это весомый повод разбить ее на 2 таблици, держать описание один раз в дополнительной, а плодить только ссылки на него)


← →
Johnmen ©   (2006-03-27 14:12) [7]

Не буду разводить философию по поводу порочности таких методов. Как следствия, видимо, порочного конструирования БД...

Скажу следующее по поводу сабжа.
Дело в том, что в IB/FB весьма оригинально (в положительном смысле) организована логика модифицирующих запросов, когда исходным материалом для них являются данные селективных.
В данном случае происходит бесконечная рекурсия. Т.е. примерно так - для каждого атомарного ИНСЕРТ берутся данные из СЕЛЕКТ, а он, в свою очередь, перманентно обновляется, для каждого ИНСЕРТ.

Вот такие дела...:)


← →
Desdechado ©   (2006-03-27 18:07) [8]

INSERT INTO TBL (FLD, nomer_jurnala) SELECT FLD, 4 FROM TBL where nomer_jurnala = 3


← →
alxn   (2006-03-27 19:23) [9]

Desdechado, спасибо так работает



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
2-1146743284
Andrey235
2006-05-04 15:48
2006.05.21
проблема с динамичным массивом


15-1145774934
Mozart
2006-04-23 10:48
2006.05.21
CreateOleObject


15-1145514246
Виталий Панасенко
2006-04-20 10:24
2006.05.21
Макс. длинна шнура между COM-портом и устройством


3-1143485761
beglec
2006-03-27 22:56
2006.05.21
Как узнать сколько индексов у таблицы? Paradox.


8-1135579295
WondeRu
2005-12-26 09:41
2006.05.21
Улыбнемся ;)




   Наверх