
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
15.03.2018, 21:25
|
|||
|---|---|---|---|
|
|||
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Доброго времени суток. Имеется удаление из таблицы table1 на основании иерархического запроса к этой же таблице: Код: plsql 1. 2. 3. 4. 5. 6. 7. подзапрос (select pk_col1 from pk_bpi_tab where ...) возвращает Nк строк, но почему-то все строки удаляются только за 3 итерации. Как происходило: При первом запуске иерархический запрос почему-то "увидел" только 4 строки (не тысячи) - их и у далил. При втором запуске удаления подзапрос вернул (8к-4) строк, иерархический запрос "увидел" 7к - их и удалил. При третьем запуске подзапрос вернул (8к-4-7к) строк, иерархический запрос на этот раз "увидел" все строки - их и удалил. ВАЖНО: в данном конкретном случае все 8к строк лежат на ОДНОМ уровне - я проверил, но теоретически может быть и иерархия, поэтому убирать его нельзя. В блоке участвует только ОДНА таблица, параллельно с ней никто не мог работать. Решил я эту проблему через создание вспомагательной таблицы на основании подзапроса - после этого иерархический запрос сразу "увидел" все 8к строк и они были удалены за одну итерацию: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. У кого-то есть идеи, как можно объяснить такое поведение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 09:58
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Alexx_Pol, Удивительно скорее, что он тебе не удалил просто все строки. Простой вопрос - в первом же подзапросе из какой таблицы берётся поле pk_col1? Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 09:58
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Alexx_Pol, я б для начала в операторе для таблиц и полей добавил разные "алиасы" ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 10:03
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
env, у него две таблицы Код: plsql 1. 2. 3. 4. 5. 6. 7. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 11:30
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Stax, Хоть десять. Без алиасов результат будет удивлять в зависимости от фазы Луны и положения Тельца в Козероге. Особенно, если хотя бы в одной НЕТ поля pk_col1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 11:31
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Alexx_Pol, Планы запросов для обоих случаев окажите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 11:31
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
envокажите. *покажите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 11:44
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
envStax, Хоть десять. Без алиасов результат будет удивлять в зависимости от фазы Луны и положения Тельца в Козероге. Особенно, если хотя бы в одной НЕТ поля pk_col1. Судя по create table sup_table as (select pk_col1 from pk_bpi_tab where ...); поле есть в таблице зы у меня в реальной жизни был такой случай (очепятался), но быстро нашел .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 12:21
|
|||
|---|---|---|---|
|
|||
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Прошу прощения за опечатку - таблица одна. Она себя анализирует и удаляет из себя же. Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 12:25
|
|||
|---|---|---|---|
|
|||
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Соответственно в переделанном коде я тоже опечатался: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 12:31
|
|||
|---|---|---|---|
|
|||
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Stax, Проверил оригинальный код - алиасов действительно нет. Нахожусь в другой таймзоне - завтра попробую их добавить и проверю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 12:35
|
|||
|---|---|---|---|
|
|||
Иерархический запрос: проблема со START WITH |
|||
|
#18+
env, Планы очень объемные, т.к. позапрос довольно сложный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.03.2018, 12:39
|
|||
|---|---|---|---|
Иерархический запрос: проблема со START WITH |
|||
|
#18+
Alexx_Pol, точно надо ін Код: plsql 1. 2. 3. 4. 5. и не Код: plsql 1. ? ps всеравно я б алиасы вбил явно ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1884287]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 353ms |

| 0 / 0 |
