|
Несколько With AS в одном запросе
|
|||
---|---|---|---|
#18+
И снова я прошу помощи у знатоков, т.к. своих воображения и знаний не хватает. Имеются 4 таблицы, где хранится значение и id этого значения и одна общая таблица, где связаны в уникальную цепочку эти 4 id, изначально необходимые данные вставлялись в эти таблицы в цикле, но с ростом нагрузки, процесс стал очень медленным, соответственно, хочу работать со вставкой разом всех записей, которые беру из другой таблицы. Логика такова, что все значения в каждой таблице, кроме общей, уникальны и при вставке я либо вставляю это значение и получаю id, либо просто получаю id, если оно есть: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
но как объединить все 4 этих процесса и получить общий id из общей таблицы? Пробовал объединить их с помощью With As, но получил ошибку Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2019, 10:57 |
|
Несколько With AS в одном запросе
|
|||
---|---|---|---|
#18+
IvanCно как объединить все 4 этих процесса и получить общий id из общей таблицы? CTE обычно используют для селектов, а в вашем случае со вставкой рекомендую сделать хранимую процедуру ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2019, 16:33 |
|
Несколько With AS в одном запросе
|
|||
---|---|---|---|
#18+
DSKaluginIvanCно как объединить все 4 этих процесса и получить общий id из общей таблицы? CTE обычно используют для селектов, а в вашем случае со вставкой рекомендую сделать хранимую процедуруТа можно и инсерт, только ограничение WITH clause containing a data-modifying statement must be at the top level действительно есть и документировано. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2019, 22:16 |
|
|
start [/forum/topic.php?fid=53&fpage=35&tid=1994993]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 135ms |
0 / 0 |