Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как дублировать все записи в таблице [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]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо