![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
клонирование записей из 3х связанных таблиц
Prohodil Mimo © (2005-07-21 19:02:00)Есть 3 таблицы (Главная, под ней другая, а под второй ещё одна)
необходимо сделать копию записи первой таблицы, со всеми хвостами из второй, а для второй все хвосты из третьей.
Возможно ли это сделать SQL запросом или надо писать ХР?
FB 1.5.2
evvcom (2005-07-22 17:20:00) [1]Не знаю как FB, думаю, вряд ли птица сможет вставить одним запросом данные в 3 таблицы. Такое по плечу, наверное, только Ораклу. Кроме того, я так и не понял по какому алгоритму должны вставляться записи в т2 и т3.
Prohodil Mimo (2005-07-22 16:11:00) [2]Для тех кто не понял что я хотел :
Таблица1
ID1 : NAME
1 : aaa
2 : bbb
Таблица2
ID2 : ID1 : NAME
1 : 1 : aa
2 : 2 : bb
3 : 2 : cc
4 : 2 : dd
Таблица3
ID3 : ID2 : NAME
1 : 2 : a
2 : 2 : b
3 : 3 : c
4 : 2 : d
После копирования записи (2) из таблицы 1 должно получиться так:
Таблица1
ID1 : NAME
1 : aaa
2 : bbb
3 : копия bbb
Таблица2
ID2 : ID1 : NAME
1 : 1 : aa
2 : 2 : bb
3 : 2 : cc
4 : 2 : dd
5 : 3 : bb
6 : 3 : cc
7 : 3 : dd
Таблица3
ID3 : ID2 : NAME
1 : 2 : a
2 : 2 : b
3 : 3 : c
4 : 2 : d
5 : 5 : a
6 : 5 : b
7 : 6 : c
8 : 5 : d
ЗЫ. можете предложить свои варианты.
Prohodil Mimo (2005-07-22 15:53:00) [3]Fay © (21.07.05 20:20) [3]
Два запроса вида insert .. select и один цикл такиз запросов.
Тебе их написать, что-ли?
Хотел обойтись без цикла, одним запросом.
Обошёлся. Правда для этого ввёл ещё одно поле в котором указано с кого делалась копия, и триггер.
evvcom (2005-07-22 09:27:00) [4]
> ну представим таблицы в виде каталогов с файлами.
> Вот и надо сделать копию каталога с подкаталогами, только
> в БД с таблицами
Так представим или это и есть реальная задача? Куда сделать копию? Откуда? Что вообще имеется? Или и таблицы надо создавать? В чем проблема? Ничего не понятно.
Fay (2005-07-21 20:56:00) [5]2 Fay © (21.07.05 20:20) [3]
Цикл, кстати, не нужен 8)
Fay (2005-07-21 20:20:00) [6]2 Prohodil Mimo © (21.07.05 19:59) [2]
Два запроса вида insert .. select и один цикл такиз запросов.
Тебе их написать, что-ли?
Prohodil Mimo (2005-07-21 19:59:00) [7]P.N.P. © (21.07.05 19:44) [1]
Что значит "копию записи"?
ну представим таблицы в виде каталогов с файлами.
Есть каталог, в нем другой, а в том ещё один.
Вот и надо сделать копию каталога с подкаталогами, только в БД с таблицами.
P.N.P. (2005-07-21 19:44:00) [8]Что значит "копию записи"?
Выбрать-то не проблема. INNER JOIN обычный.
А вот insert/update одним запросом - никак.