Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Есть ли смысл в дублировании апдейта какой-то таблицы? / 5 сообщений из 5, страница 1 из 1
17.10.2018, 15:32
    #39718866
andrejjj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли смысл в дублировании апдейта какой-то таблицы?
Доброго дня всем! Сегодня изучая сорцы программы наткнулся на странное содержание одного sql запроса
Если в кратце - есть ТАБЛИЦА_1 которая связана с собой же по полю PARENT_ID, она сначала заполняется данными из других таблиц, при этом одно из полей ПОЛЕ_1 заполняется null

Затем ниже в этом же файле ТАБЛИЦА_1 апдейтится запросом такого вида
update ТАБЛИЦА_1 a
set ПОЛЕ_1 =
(
select ПОЛЕ_1
from ТАБЛИЦА_1 b
where
b.ID=a.PARENT_ID
)
where
ПОЛЕ_1 is null and
exists
(
select
1
from ТАБЛИЦА_1 b
where
b.ID=a.PARENT_ID and
b.ПОЛЕ_1 is not null
);

И все было б ничего, когда б такой апдейт не повторялся бы 6(ШЕСТЬ!Карл!!!!) раз.
После поиска по логам Меркуриала, выяснил что
1) По-видимоту репозиторий был создан из видимо каконибудь SVN году так в 12
2) в новосозданном файле таких однотипных апдейтов было 3
3) был комент к ним "-- set to children the same flag as to parent 3 times"
4) впоследствии в 2015 коменты потерли и добавили еще 3 апдейта


Теперь вопрос к знатокам Оракла - есть ли какая то глубинная мудрость в дублировании таких апдейтов? Можно ли их безнаказанно убрать? Или это проверяется только опытным путем?

P.S. ТАБЛИЦА_1 хранит в себе иерархию объектов в стране (например: страна-> область -> район -> город) ни или что-то вроде
...
Рейтинг: 0 / 0
17.10.2018, 15:38
    #39718876
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли смысл в дублировании апдейта какой-то таблицы?
andrejjj,

connect_by_root поле1
...
Рейтинг: 0 / 0
17.10.2018, 16:07
    #39718916
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли смысл в дублировании апдейта какой-то таблицы?
andrejjjТеперь вопрос к знатокам Оракла - есть ли какая то глубинная мудрость в дублировании таких апдейтов?Чуть более мудрый написал бы один раз
Код: plsql
1.
2.
    exit when sql%rowcount = 0;
  end loop;
...
Рейтинг: 0 / 0
18.10.2018, 20:33
    #39719579
Кобанчег
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли смысл в дублировании апдейта какой-то таблицы?
andrejjj,

Писатели не додумались как протянуть одним запросом
значение атрибута родительских записей
на несколько уровней вниз для непроинициализированных детей.
...
Рейтинг: 0 / 0
19.10.2018, 14:25
    #39719978
andrejjj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Есть ли смысл в дублировании апдейта какой-то таблицы?
Спасибо всем за советы! Сам склоняюсь к мысли что они "не смогли" осилить иерархический запрос. Там еще дофига такой же магии :)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Есть ли смысл в дублировании апдейта какой-то таблицы? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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