![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как дублировать все записи в таблице [D7, FB]
alxn © (2006-03-27 11:35:00)Как дублировать все записи в таблице
так все виснет
INSERT INTO TBL (FLD) SELECT FLD FROM TBL
alxn (2006-03-27 19:23:00) [1]Desdechado, спасибо так работает
Desdechado (2006-03-27 18:07:00) [2]INSERT INTO TBL (FLD, nomer_jurnala) SELECT FLD, 4 FROM TBL where nomer_jurnala = 3
Johnmen (2006-03-27 14:12:00) [3]Не буду разводить философию по поводу порочности таких методов. Как следствия, видимо, порочного конструирования БД...
Скажу следующее по поводу сабжа.
Дело в том, что в IB/FB весьма оригинально (в положительном смысле) организована логика модифицирующих запросов, когда исходным материалом для них являются данные селективных.
В данном случае происходит бесконечная рекурсия. Т.е. примерно так - для каждого атомарного ИНСЕРТ берутся данные из СЕЛЕКТ, а он, в свою очередь, перманентно обновляется, для каждого ИНСЕРТ.
Вот такие дела...:)
sniknik (2006-03-27 13:33:00) [4]это не совсем дублирование получается... как минимум столбец с номером журнала разный будет...
> INSERT INTO TBL (FLD) SELECT FLD FROM TBL
так должно работать (в аксес/mssql бы точно сработало), если конечно структура правильная, ключ есть, + поле FLD без уникального индекса... (по мемо ;о))
и если не учитывать, что таблица нуждается в срочной нормализации... (если одно и тоже поле, и не маленькое, встречается в таблице по сто раз ;)... ну это весомый повод разбить ее на 2 таблици, держать описание один раз в дополнительной, а плодить только ссылки на него)
alxn (2006-03-27 13:19:00) [5]Смысл такой -- есть база рекламного журнала. Выходит каждую неделю. Рекламодатели дают одинаковую рекламу на несколько номеров, например 100 строк. Первый раз строки ввели руками, а в следующий номер хочется скопировать их из предыдущего, изменив номер журнала. Все предыдущие номера нужно хранить в исходном виде.
Johnmen (2006-03-27 12:30:00) [6]А смысл?
alxn (2006-03-27 12:26:00) [7]Точнее -- надо дублировать группу записей ~100-500 шт. Какая разница.
Поле (ID) счетчик есть.
Буферную таблицу делать?
Anatoly Podgoretsky (2006-03-27 11:46:00) [8]Добавить поле счетчик.
Sergey13 (2006-03-27 11:44:00) [9]Велика ли таблица и конечный смысл всего этого?