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

start [/forum/topic.php?fid=52&msg=39615898&tid=1884287]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 370ms |

| 0 / 0 |
