Гость
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Teradata Вставить данные из рекурсивного запроса в таблицу / 4 сообщений из 4, страница 1 из 1
17.09.2020, 19:52
    #40000021
Дмитрий86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Teradata Вставить данные из рекурсивного запроса в таблицу
Всем добрый вечер! Прошу помощи в исправлении синтаксиса при вставки данных из рекурсивного запроса. Сначала создается волатильная таблица, далее рекурсивный запрос и после поля рекурсивного запроса инсертятся в эту таблицу:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE VOLATILE TABLE vt_employee(emp_id) AS 
(
   emp_id INTEGER
) ON COMMIT PRESERVE ROWS;

WITH RECURSIVE rec_emp (emp_id) AS (
  SELECT emp_id
  FROM Table1
  WHERE emp_id = 10
 	UNION ALL
   SELECT t.emp_id
   FROM Table1 t, rec_emp r
   WHERE r.emp_id = t.Empid
)
INSERT INTO vt_employee
select emp_id from rec_emp;




Но ругается на инсерт после рекурсивного запроса, подскажите как исправить. Всем спасибо!
...
Рейтинг: 0 / 0
17.09.2020, 20:57
    #40000043
Дмитрий86
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Teradata Вставить данные из рекурсивного запроса в таблицу
если выполнить рекурсивный запрос вкупе с селектом:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
WITH RECURSIVE rec_emp (emp_id) AS (
  SELECT emp_id
  FROM Table1
  WHERE emp_id = 10
 	UNION ALL
   SELECT t.emp_id
   FROM Table1 t, rec_emp r
   WHERE r.emp_id = t.Empid
) select * from rec_emp 



он отрабатывает без ошибок, но с инсертом не хочет работать
...
Рейтинг: 0 / 0
17.09.2020, 22:05
    #40000068
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Teradata Вставить данные из рекурсивного запроса в таблицу
В Терадатной документации не нашел, но зато нашел в MySQL-ной:
https://dev.mysql.com/doc/refman/8.0/en/with.html Immediately preceding SELECT for statements that include a SELECT statement:
INSERT ... WITH ... SELECT ...
REPLACE ... WITH ... SELECT ...
CREATE TABLE ... WITH ... SELECT ...
CREATE VIEW ... WITH ... SELECT ...
DECLARE CURSOR ... WITH ... SELECT ...
EXPLAIN ... WITH ... SELECT ...
...
Рейтинг: 0 / 0
26.11.2020, 23:21
    #40022588
mrbungle
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Teradata Вставить данные из рекурсивного запроса в таблицу
Дмитрий86,

попробуйте инсерт перед cte разместить

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
INSERT INTO vt_employee
WITH RECURSIVE rec_emp (emp_id) AS (
  SELECT emp_id
  FROM Table1
  WHERE emp_id = 10
 	UNION ALL
   SELECT t.emp_id
   FROM Table1 t, rec_emp r
   WHERE r.emp_id = t.Empid
)
select emp_id from rec_emp;
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Teradata Вставить данные из рекурсивного запроса в таблицу / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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