Вниз
Скачать: 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
15-1145595669
jb
2006-04-21 09:01
2006.05.21
Документация по BDE SQL


15-1146118919
WG
2006-04-27 10:21
2006.05.21
Пропало основное окно в Delphi! Вроде какой-то файл надо удалить?


15-1146232547
Manic Mechanic
2006-04-28 17:55
2006.05.21
Скоро домой :)


2-1146398502
elfixis
2006-04-30 16:01
2006.05.21
treeview


2-1146648983
mida
2006-05-03 13:36
2006.05.21
DBEdit




   Наверх