D-pk
asked on
ORA 32036 Unsupported case for inlining of query name in WITH clause error
I have a big SQL with many WITH clauses (materialized views), this was running fine for a long time. (it was running faster too) But now I get this error. Anyone have faced this error before. Thoughts?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
This is how my SQL looks like.
The exact error msg is:
"ORA-32036: unsupported case for inlining of query name in WITH clause"
The exact error msg is:
"ORA-32036: unsupported case for inlining of query name in WITH clause"
WITH main_vw AS (SELECT /*+ materialize */
),
--Line 1 Total Eligible for HealthTrack
line_1 as (
SELECT
'Line 1' Line,
mv.Age,
COUNT (distinct id) VALUE -- should be count on unique member ids
FROM main_vw mv
GROUP BY mv.Age
),
-----------------------------------------------------------------------------------------------------------------------------
line_2a as
(
select distinct 'Line 2a' Line, age,
(case when AGE = '<1' then 6
when AGE = '1-2' then 4
when AGE = '3-5' then 3
when AGE = '6-9' then 2.5
when AGE = '10-14' then 4.5
when AGE = '15-18' then 4
when AGE = '19-20' then 2
END) Value
from main_vw
),
line_2b as
(
select distinct 'Line 2b' Line, age,
(case when AGE = '<1' then 1
when AGE = '1-2' then 2
when AGE = '3-5' then 3
when AGE = '6-9' then 4
when AGE = '10-14' then 5
when AGE = '15-18' then 4
when AGE = '19-20' then 2
END) Value
from main_vw
),
line_2c as
(
select distinct 'Line 2c' Line, age,
(case when AGE = '<1' then 3
when AGE = '1-2' then 1
when AGE = '3-5' then 0.5
when AGE = '6-9' then 0.3125
when AGE = '10-14' then 0.45
when AGE = '15-18' then 0.5
when AGE = '19-20' then 0.5
END) Value
from main_vw
),
------------------------------------------------------------------------------------------------
Line_3a as (
SELECT
-- this select uses only "main_vw" materialized view at the top
),
------------------------------------------------------------------------------------------------
line_3b as
(
select 'Line 3b' Line,
Line_1.age, (line_3a.value/line_1.value) /12 Value
from line_1, line_3a
where
line_1.age=line_3a.age
),
line_4 as
(
select 'Line 4' Line,
Line_2c.age, (line_3b1.value * line_2c.value) * 2 Value
from line_2c, line_3b1
where
line_2c.age=line_3b1.age
),
------------******************************-----------------------
line_5 as
(
select 'Line 5' Line,
Line_1.age, (line_4.value * line_1.value) Value
from line_1, line_4
where
line_1.age=line_4.age
),
line_6_9 as (
select ....
-- This select uses only "main_vw" materialized view
),
line_7 as
(
select 'Line 7' Line,
Line_5.age,
(case when line_6_9.line = 'Line 6' then (line_6_9.value / line_5.value) end)Value
from line_5, line_6_9
where
line_5.age=line_6_9.age
and line_6_9.line = 'Line 6'
),
line_8 as
(
select 'Line 8' Line,
Line_1.age,
(case when line_4.value > 1 then (line_1.value)
when line_4.value <= 1 then (Line_4.value * line_1.value)
end) Value
from line_1, line_4
where
line_1.age=line_4.age
),
line_10 as
(
select 'Line 10' Line,
Line_8.age,
(case when line_6_9.line = 'Line 9' then (line_6_9.value / line_8.value) end) Value
from line_8, line_6_9
where
line_8.age=line_6_9.age
and line_6_9.line = 'Line 9'
)
select * from line_1
union all
select * from line_2a
union all
select * from line_2b
union all
select * from line_2c
union all
select * from line_3a
union all
select * from line_3b
union all
select * from line_4
union all
select * from line_5
union all
select * from line_6_9
union all
select * from line_7
union all
select * from line_8
union all
select * from line_10
ASKER
I tried to run it step by step by uncommenting one by one, when I include the "line_3b" materialized view I got this error... Thanks
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
is this is a new change in EE? whenever I try to close a question it isnt letting me close it right away, it waits for a few days for someone to object the points awarded.
also give the exact sql error message ( just copy it and paste it here ) ?
by any chance, this big sql was modified recently after which it is giving this error ?