I have a value like below
D@#Direct, I@#Indirect
First I want to separate this into two rows like below and get description based on value.
D@#Direct
I@#Indirect
in which Direct and Indirect are description for values I and D.
I used this query to extract the description which does not work in 10 g.
WITH T AS
(SELECT VALUE_X FROM gcb_dba.GCB_ADMIN S WHERE S.ITEM = 'Delivery Mode')
SELECT DESCR --INTO LV_DESCR
FROM (SELECT SUBSTR(DESCR, 1,INSTR(DESCR, '@#') - 1) VALUE1,
SUBSTR(DESCR, INSTR(descr, '@#') + 2) DESCR
FROM (SELECT CAST(TRIM(EXTRACT(COLUMN_VALUE, '/e/text()')) AS
VARCHAR2(100)) DESCR
FROM T X,
TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE('<ROW><e>' || ---
REPLACE(value_x,
',',
'</e><e>') ||
'</e></ROW>'),
'//e')))))
WHERE VALUE1 = 'D';
=================================
I can execute the below in 10g to convert a value into rows, by commenting some part.
but not execute as a whole to extract description. I am getting error
"end of file on communication channel"
WITH T AS
(SELECT VALUE_X FROM gcb_dba.GCB_ADMIN S WHERE S.ITEM = 'Delivery Mode')
SELECT DESCR --INTO LV_DESCR
FROM (/*SELECT SUBSTR(DESCR, 1,INSTR(DESCR, '@#') - 1) VALUE1\*,
SUBSTR(DESCR, INSTR(descr, '@#') + 2) DESCR*\
FROM (*/SELECT CAST(TRIM(EXTRACT(COLUMN_VALUE, '/e/text()')) AS
VARCHAR2(100)) DESCR
FROM T X,
TABLE(XMLSEQUENCE(EXTRACT(XMLTYPE('<ROW><e>' || ---
REPLACE(value_x,
',',
'</e><e>') ||
'</e></ROW>'),
'//e'))))
==========================================================
Now I want to know why in 10g I am not able to execute the query
and any other alternative way to extract the description.