powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Teradata Вставить данные из рекурсивного запроса в таблицу
4 сообщений из 4, страница 1 из 1
Teradata Вставить данные из рекурсивного запроса в таблицу
    #40000021
Дмитрий86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый вечер! Прошу помощи в исправлении синтаксиса при вставки данных из рекурсивного запроса. Сначала создается волатильная таблица, далее рекурсивный запрос и после поля рекурсивного запроса инсертятся в эту таблицу:
Код: 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
Teradata Вставить данные из рекурсивного запроса в таблицу
    #40000043
Дмитрий86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если выполнить рекурсивный запрос вкупе с селектом:
Код: 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
Teradata Вставить данные из рекурсивного запроса в таблицу
    #40000068
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Терадатной документации не нашел, но зато нашел в 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
Teradata Вставить данные из рекурсивного запроса в таблицу
    #40022588
mrbungle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий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
4 сообщений из 4, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Teradata Вставить данные из рекурсивного запроса в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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