У меня сложный выбор, и результат нужно поместить в таблицу.Я пытаюсь это:
INSERT INTO SAMGUPS_STATISTIC_STANTION
(SAMGUPS_STATISTIC_STANTION_SEQ.nextval)
(
with PRG as (
select
ID_OBJ
from PEREGON where ID_STAN1=&arrival
),
STN_OBJ as (
select
distinct ID_OBJ_P as ID_OBJ
from TMO start with ID_OBJ=&dispatch
connect by prior ID_OBJ_P=ID_OBJ
),
STAN as (
select
A_TOP.ID_POEZD
,A_TOP.vrsvop
from STN_OBJ inner join A_TOP on A_TOP.ID_OBJ=STN_OBJ.ID_OBJ and A_TOP.KODOP_P in ('01','07')
left join A_POEZD_ATR ATR on ATR.ID_POEZD=A_TOP.ID_POEZD and ATR.VRSVOP=A_TOP.VRSVOP
WHERE ATR.NOM_POEZD LIKE '____'
),
DATA_RESULT as
(
select
/*count(*) over() as TotalCount*/
to_char(&dispatch) as dispatch
,to_char(&arrival) as arrival
...
,ATR.PR_N_V_PZ
from PRG inner join A_TOP on A_TOP.ID_OBJ=PRG.ID_OBJ and A_TOP.KODOP_P in ('03','07')
left join A_POEZD_ATR ATR on ATR.ID_POEZD=A_TOP.ID_POEZD and ATR.VRSVOP=A_TOP.VRSVOP
inner join STAN STN on STN.ID_POEZD = ATR.ID_POEZD
WHERE ATR.NOM_POEZD LIKE '____'
order by A_TOP.ID_POEZD
)
SELECT * FROM DATA_RESULT);
У меня ошибка:
Error at Command Line:71 Column:25
Error report:
SQL Error: ORA-32034: unsupported use of WITH clause
32034. 00000 - "unsupported use of WITH clause"
*Cause: Inproper use of WITH clause because one of the following two reasons
1. nesting of WITH clause within WITH clause not supported yet
2. For a set query, WITH clause can't be specified for a branch.
3. WITH clause can't sepecified within parentheses.
*Action: correct query and retry
Есть ли возможность обойти эти ограничения?Может быть возможным результатом выбора места в переменной, а затем с помощью вставки переменной в таблицу?