Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Обход дерева и запись данных в родителя / 2 сообщений из 2, страница 1 из 1
02.10.2015, 23:23
    #39067479
k17
k17
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход дерева и запись данных в родителя
Доброго времени суток друзья.
Сразу скажу что базы данных только начал изучать, поэтому возможно будет много тупых вопросов.

В базе имеется одна таблица которая содержит все дерево файловой системы(более 700тыс. записей). В каждой записи есть поле parent которое указывает на родителя(каталог), поле size в котором содержится информация о размере(файла или каталога) и поле iscatalog которое указывает на то что это каталог(true == каталог, false == файл).
Проблема в том что информацию о размере содержат только файлы, все каталоги имеют NULL.
Хотелось бы для каждого каталога посчитать размер содержащихся в нем данных и записать эти данные в size каталога одним запросом.
НО КАК??? Циклом? Рекурсией? подобные конструкции вообще есть в декларативном языке?
Единственное что приходит в голову это использовать SELECT, INSERT и императивный ЯП.
...
Рейтинг: 0 / 0
03.10.2015, 00:06
    #39067486
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обход дерева и запись данных в родителя
Код: sql
1.
update t set f = (select sum(...) from t t2 where t.parent_id=t2.parent_id)
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Обход дерева и запись данных в родителя / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]