powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00933 при парсинге XML
14 сообщений из 39, страница 2 из 2
ORA-00933 при парсинге XML
    #39561967
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также вангую что ТС ждет что то вроде:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
with t as
(select xmltype('<MainGott>
<someFirstChild>
<firstChild value="FirstChild 1"/>
<someSecondChild>
<secondChild value="secondChild 11"/>
</someSecondChild>
<someSecondChild>
<secondChild value="secondChild 12"/>
</someSecondChild>
</someFirstChild>
<someFirstChild>
<firstChild value="FirstChild 2"/>
<someSecondChild>
<secondChild value="secondChild 21"/>
</someSecondChild>
<someSecondChild>
<secondChild value="secondChild 22"/>
</someSecondChild>
</someFirstChild>
<someFirstChild>
<firstChild value="FirstChild 3"/>
</someFirstChild>
</MainGott>') x from dual),
t1 as
(select t2.* 
 from t
   , xmltable
     ( 'MainGott/someFirstChild' passing t.x
       columns 
         value1 varchar2(100) path 'firstChild/@value'
       , value2 xmltype path 'someSecondChild'
      )t2) 
select t1.value1, t2.value21
from t1
left join xmltable
     ( 'someSecondChild' passing t1.value2
       columns value21 varchar2(100) path 'secondChild/@value'
      ) t2 on 1 = 1
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561973
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
env , твой вариант с FLWOR дает то, что требовалось, то есть полное перемножение элементов. Вижу, что есть вложенный цикл. Это понятно. Но как это переписать с JOIN'ами? Чем ближе к SQL, тем для меня в данной ситуации лучше.
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561974
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О, уже есть вариант)
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561976
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLerКакое угодно количество это в том числе и ноль
И что ты хотел этим вбросить?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
with t as (
  select xmltype('<MainGott>
<someFirstChild>
<firstChild value="FirstChild 1"/>
<someSecondChild>
<secondChild value="secondChild 11"/>
</someSecondChild>
<someSecondChild>
<secondChild value="secondChild 12"/>
</someSecondChild>
</someFirstChild>
<someFirstChild>
<firstChild value="FirstChild 2"/>
<someSecondChild>
<secondChild value="secondChild 21"/>
</someSecondChild>
<someSecondChild>
<secondChild value="secondChild 22"/>
</someSecondChild>
</someFirstChild>
<someFirstChild>
 <firstChild value="NoSecondChild 3"/>
</someFirstChild>
</MainGott>') x
from dual)
select y.*
from t
     ,xmltable('let $i := MainGott/someFirstChild
                let $j := MainGott/someFirstChild/someSecondChild
                for $ii in $i 
                  for $jj in $j
                    return <root>{$ii/firstChild}{$jj/secondChild}</root>' passing t.x
                columns 
                        fc     varchar2(100)  path 'firstChild/@value',
                        sc     varchar2(100)  path 'secondChild/@value') y
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561980
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLerТакже вангую что ТС ждет что то вроде:
И зачем так замороченно, если ТС нужен кросс-джойн?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
with t as (
  select xmltype('<MainGott>
<someFirstChild>
<firstChild value="FirstChild 1"/>
<someSecondChild>
<secondChild value="secondChild 11"/>
</someSecondChild>
<someSecondChild>
<secondChild value="secondChild 12"/>
</someSecondChild>
</someFirstChild>
<someFirstChild>
<firstChild value="FirstChild 2"/>
<someSecondChild>
<secondChild value="secondChild 21"/>
</someSecondChild>
<someSecondChild>
<secondChild value="secondChild 22"/>
</someSecondChild>
</someFirstChild>
<someFirstChild>
 <firstChild value="NoSecondChild 3"/>
</someFirstChild>
</MainGott>') x
from dual)
select y.value1, z.value2
from t
     ,xmltable('MainGott/someFirstChild' passing t.x
                columns value1 varchar2(1000) path 'firstChild/@value') y,
      xmltable('MainGott/someFirstChild/someSecondChild' passing t.x
                columns value2 varchar2(1000) path 'secondChild/@value') z
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561981
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, в элементе MainGott может не быть ни одного элемента someFirstChild , как и в someFirstChild может не быть ни одного элемента someSecondChild
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561982
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLer,

С таким ником ответы по теме xml должны быть идеальны
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39561984
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envИ зачем так замороченно, если ТС нужен кросс-джойн?Ха. Сейчас окажется, что ему нужно соединение по порядковому номеру.
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39562151
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, я об этом уже обнамекался
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39562365
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLer,

Перечитай постановку от ТС и найди в его явном утверждении "все на все" хоть один намёк об этом.

И, да, по порядковому номеру проблем также не составит. For ordinality...
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39562521
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
envXMLer,

Перечитай постановку от ТС и найди в его явном утверждении "все на все" хоть один намёк об этом.

И, да, по порядковому номеру проблем также не составит. For ordinality...
Просто поверь на слово, ему не нужно "все на все". Человек явно хочет сэкономить на сохранении. Ты этого не видишь?
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39562533
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLerЧеловек явно хочет сэкономить на сохранении. Ты этого не видишь?По чём хрустальный шар покупал?
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39562788
XMLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicПо чём хрустальный шар покупал? к методичке "Как читать чужой код и не сойти с ума" прилагался :)
...
Рейтинг: 0 / 0
ORA-00933 при парсинге XML
    #39563066
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMLerElicПо чём хрустальный шар покупал? к методичке "Как читать чужой код и не сойти с ума" прилагался :)Не убедительно.
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00933 при парсинге XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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