Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Вниз

клонирование записей из 3х связанных таблиц   Найти похожие ветки 

 
Prohodil Mimo ©   (2005-07-21 19:02) [0]

Есть 3 таблицы (Главная, под ней другая, а под второй ещё одна)

необходимо сделать копию записи первой таблицы, со всеми хвостами из второй, а для второй все хвосты из третьей.
Возможно ли это сделать SQL запросом или надо писать ХР?

FB 1.5.2


 
P.N.P. ©   (2005-07-21 19:44) [1]

Что значит "копию записи"?
Выбрать-то не проблема. INNER JOIN обычный.
А вот insert/update одним запросом - никак.


 
Prohodil Mimo ©   (2005-07-21 19:59) [2]

P.N.P. ©   (21.07.05 19:44) [1]
Что значит "копию записи"?


ну представим таблицы в виде каталогов с файлами.
Есть каталог, в нем другой, а в том ещё один.
Вот и надо сделать копию каталога с подкаталогами, только в БД с таблицами.


 
Fay ©   (2005-07-21 20:20) [3]

2 Prohodil Mimo ©   (21.07.05 19:59) [2]
Два запроса вида insert .. select и один цикл такиз запросов.
Тебе их написать, что-ли?


 
Fay ©   (2005-07-21 20:56) [4]

2 Fay ©   (21.07.05 20:20) [3]
Цикл, кстати, не нужен 8)


 
evvcom ©   (2005-07-22 09:27) [5]


> ну представим таблицы в виде каталогов с файлами.
> Вот и надо сделать копию каталога с подкаталогами, только
> в БД с таблицами

Так представим или это и есть реальная задача? Куда сделать копию? Откуда? Что вообще имеется? Или и таблицы надо создавать? В чем проблема? Ничего не понятно.


 
Prohodil Mimo ©   (2005-07-22 15:53) [6]

Fay ©   (21.07.05 20:20) [3]
Два запроса вида insert .. select и один цикл такиз запросов.
Тебе их написать, что-ли?


Хотел обойтись без цикла, одним запросом.

Обошёлся. Правда для этого ввёл ещё одно поле в котором указано с кого делалась копия, и триггер.


 
Prohodil Mimo ©   (2005-07-22 16:11) [7]

Для тех кто не понял что я хотел :

Таблица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

ЗЫ. можете предложить свои варианты.


 
evvcom ©   (2005-07-22 17:20) [8]

Не знаю как FB, думаю, вряд ли птица сможет вставить одним запросом данные в 3 таблицы. Такое по плечу, наверное, только Ораклу. Кроме того, я так и не понял по какому алгоритму должны вставляться записи в т2 и т3.



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

Форум: "Базы";
Текущий архив: 2005.09.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
6-1116575092
Zavs
2005-05-20 11:44
2005.09.04
как соедениться с FTP-сервером, через прокси


5-1096957853
Jiny
2004-10-05 10:30
2005.09.04
Как закрасить закладки компоненты TPageControl


14-1123680424
oldman
2005-08-10 17:27
2005.09.04
А за слоганом не уследили...


1-1123909346
Michael5
2005-08-13 09:02
2005.09.04
Как отформатировать (выровнять) текст в редакторе кода Дельфи?


1-1124182918
kot andrei
2005-08-16 13:01
2005.09.04
Form.Show в другом приложении





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский