|
|
|
Teradata ошибка при запуске procedure в которой insert () with select (Фича <=15 терадаты)
|
|||
|---|---|---|---|
|
#18+
Teradata ошибка при запуске procedure в которой insert () with select Столкнулся с такой проблемой, при попытке перенести большой запрос вида: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. оборачиваем в процедуру, компилируем(без ошибок): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. запускаем процедуру Код: sql 1. получаем ошибку: Код: plaintext 1. Отказаться от with неудобно по причине того что в реальности в запросе их несколько (+ union all). p.s. пока оформлял нашёл ответ, что не работает :( WITH and WITH RECURSIVE Statement Modifiers Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2018, 10:13 |
|
||
|
Teradata ошибка при запуске procedure в которой insert () with select (Фича <=15 терадаты)
|
|||
|---|---|---|---|
|
#18+
Ну оформите CTE во временную таблицу. Почти тоже самое получится по производительности, только синтаксически инче выглядеть будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2018, 19:42 |
|
||
|
Teradata ошибка при запуске procedure в которой insert () with select (Фича <=15 терадаты)
|
|||
|---|---|---|---|
|
#18+
ApexНу оформите CTE во временную таблицу. Почти тоже самое получится по производительности, только синтаксически инче выглядеть будет. Как сделать выход всегда можно найти, но читаемость сильно меняется. Как я понял вы про "VOLATILE TABLE", но тут две проблемы: 1. Промежуточный набор в CTE может быть весьма большим (поэтому в несильно изменившейся производительности не уверен, это же выйдет доп. пересылка данных между нодами, если я правильно понимаю как это всё отработает на железе). 2. Удобочитаемость немного снижается, вырастает объём текста(не критично но это уже не один запрос). В общем это не препятствие которое нельзя преодолеть, просто для того что-бы понять почему не работает в процедуре то что работает в запросе ушло прилично времени, т.к. что Google что Yandex в запросах выдаёт совсем другие варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2018, 16:23 |
|
||
|
Teradata ошибка при запуске procedure в которой insert () with select (Фича <=15 терадаты)
|
|||
|---|---|---|---|
|
#18+
NikolayV81Как сделать выход всегда можно найти, но читаемость сильно меняется. Как я понял вы про "VOLATILE TABLE", но тут две проблемы: 1. Промежуточный набор в CTE может быть весьма большим (поэтому в несильно изменившейся производительности не уверен, это же выйдет доп. пересылка данных между нодами, если я правильно понимаю как это всё отработает на железе). Вовсе необязательно. Синтаксис создания такой таблицы поддерживает PRIMARY INDEX, его можно подобрать таким образом, чтобы избежать пересылки, которую вы боитесь. Ну и проверить же можно, дело то двух минут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2018, 05:58 |
|
||
|
|

start [/forum/topic.php?fid=56&msg=39654563&tid=2015047]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 352ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...