Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Замена depricate функций / 6 сообщений из 6, страница 1 из 1
04.06.2018, 10:24
    #39654719
fire0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена depricate функций
Добрый день пытаюсь заменить XMLSequence в запросе вида
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 select *
                    from (
                    Select
                      extractValue(value(t3),'subject_attribut_info/attribut_for_string') LNumb,
                      extractValue(value(t4),'subject_attribut_info/attribut_type') LParamName,
                      extractValue(value(t4),'subject_attribut_info/attribut_for_string') LVALStr,
                      extractValue(value(t4),'subject_attribut_info/attribut_for_datetime') LVALDate
                    from (Select XmlType (XMLBLOCK) L, id
                                          from xmltab
                                          where id =1
                          ) T,
                          table(XMLSequence(t.L.extract('//insured_subject/subject_attributs/subject_attribut_form/subject_attribut_info'))) t0,
                          table(XMLSequence(t0.extract('/subject_attribut_info/attribut_type'))) t2,
                          table(XMLSequence(t0.extract('/subject_attribut_info/subject_attribut_info'))) t1,
                          table(XMLSequence(t1.extract('/subject_attribut_info/subject_attribut_info'))) t3,
                          table(XMLSequence(t1.extract('/subject_attribut_info/subject_attribut_info'))) t4

                       where extractValue(value(t2),'attribut_type')='Список' and
                       extractValue(value(t3),'subject_attribut_info/attribut_type') = 'Заводской номер')



Сделала запрос вида :
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
select t3.attribut_for_string,t4.attribut_type_n,t4.attribut_for_string_n,t4.attribut_for_datetime

from 
(Select XmlType (XMLBLOCK) L, id
                                          from xmltab
                                          where id =1
                          ) T,
 xmltable( '//insured_subject/subject_attributs/subject_attribut_form/subject_attribut_info'
passing t.L columns attribut_type_parrent varchar2(200) path '/subject_attribut_info/attribut_type',
                    subject_attribut_info XMLType path 'subject_attribut_info/subject_attribut_info'
        ) t2,
xmltable( 'subject_attribut_info'
passing t2.subject_attribut_info 
columns attribut_for_string varchar2(200) path 'attribut_for_string',
        attribut_type_zv varchar2(200) path 'attribut_type' ) t3,
        
xmltable( 'subject_attribut_info'
passing t2.subject_attribut_info 
columns attribut_for_string_n varchar2(200) path 'attribut_for_string',
        attribut_type_n varchar2(200) path 'attribut_type',
        attribut_for_datetime date  path 'attribut_for_datetime' ) t4 
where  t3.attribut_type_zv='Заводской номер ГПМ' and t2.attribut_type_parrent='Список ГПМ'   





При этом он делает полное соединение таблиц. А в первом случаи ни так. Мой запрос записи в место 78 строк возращает 255.

Если убрать xmltable t3 то количество верное, Но без t3.attribut_for_string
Как сделать фильтр по 'Заводской номер ГПМ' без использования extract и extractvalue и XMLSequence так же existsnode внутри таблицы t4 ??


XML Вида :
Код: xml
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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
-<subject_attributs>
-<subject_attribut_form>
<subject_attribut_form_name>Объект</subject_attribut_form_name>
-<subject_attribut_info>
<attribut_type>Список ГПМ</attribut_type>
-<subject_attribut_info>

<attribut_type>Данные ГПМ</attribut_type>


-<subject_attribut_info>

<attribut_type>Наименование ГПМ</attribut_type>

<attribut_for_string>Лифт</attribut_for_string>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Заводской номер ГПМ</attribut_type>

<attribut_for_string>90467</attribut_for_string>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Учётный номер ГПМ</attribut_type>

<attribut_for_string/>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Организация-изготовитель (завод-изготовитель)</attribut_type>

<attribut_for_string>Самаркандский лифтостроительный завод</attribut_for_string>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Адрес места нахождения ГПМ</attribut_type>

<attribut_for_string>г. Астрахань, ул. Куликова, 19, 1 под</attribut_for_string>

</subject_attribut_info>

-<subject_attribut_info>

<attribut_type>GPM.9.1.2</attribut_type>

<attribut_for_datetime/>

</subject_attribut_info>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Данные ГПМ</attribut_type>


-<subject_attribut_info>

<attribut_type>Наименование ГПМ</attribut_type>

<attribut_for_string>Лифт</attribut_for_string>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Заводской номер ГПМ</attribut_type>

<attribut_for_string>90468</attribut_for_string>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Учётный номер ГПМ</attribut_type>

<attribut_for_string/>

</subject_attribut_info>


-<subject_attribut_info>

<attribut_type>Организация-изготовитель (завод-изготовитель)</attribut_type>

<attribut_for_string>Сампркандский лифтостроительный завод</attribut_for_string>

</subject_attribut_info>




<attribut_type>GPM.9.1.2</attribut_type>

<attribut_for_datetime/>

</subject_attribut_info>

</subject_attribut_info>
...
Рейтинг: 0 / 0
04.06.2018, 10:40
    #39654725
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена depricate функций
fire0303XML ВидаЭто невалидный xml.
fire0303 пытаюсь заменитьПриведи данные, которые требуется получить.
fire0303А в первом случаи ни так.Заполни в профиле поле "Откуда".
...
Рейтинг: 0 / 0
04.06.2018, 12:11
    #39654783
fire0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена depricate функций
Код: xml
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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
<?xml version="1.0" encoding="Windows-1251" standalone="yes"?>
<ownership_form>Право хозяйственной деятельности</ownership_form>
<insured_subject>
<universal_subject_type>Опасный производственный объект</universal_subject_type>
<subject_name> Лифты</subject_name>
<subject_attributs>
<subject_attribut_form>
<subject_attribut_form_name>Объекты</subject_attribut_form_name>
<subject_attribut_info>
<attribut_type>Список ГПМ</attribut_type>
<subject_attribut_info>
<attribut_type>Данные ГПМ</attribut_type>
<subject_attribut_info>
<attribut_type>Наименование ГПМ</attribut_type>
<attribut_for_string>Лифт</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Заводской номер ГПМ</attribut_type>
<attribut_for_string>90467</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>Учётный номер ГПМ</attribut_type>
<attribut_for_string/></subject_attribut_info>
<subject_attribut_info>
<attribut_type>Организация-изготовитель (завод-изготовитель)</attribut_type>
<attribut_for_string>Органмизация</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Адрес места нахождения ГПМ</attribut_type>
<attribut_for_string>Адрес</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.2.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>GPM.6.2.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.3.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>GPM.6.3.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.4.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.4.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.5.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.5.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.6.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.6.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.7.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.7.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.7.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.7.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.8.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.8.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.9.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>GPM.9.1.2</attribut_type>
<attribut_for_datetime/></subject_attribut_info>
</subject_attribut_info><subject_attribut_info>
<attribut_type>Данные ГПМ</attribut_type>
<subject_attribut_info>
<attribut_type>Наименование ГПМ</attribut_type>
<attribut_for_string>Лифт</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>Заводской номер ГПМ</attribut_type>
<attribut_for_string>90468</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>Учётный номер ГПМ</attribut_type>
<attribut_for_string/></subject_attribut_info>
<subject_attribut_info>
<attribut_type>Организация-изготовитель (завод-изготовитель)</attribut_type>
<attribut_for_string>Сампркандский лифтостроительный завод</attribut_for_string>
</subject_attribut_info><subject_attribut_info>
<attribut_type>Адрес места нахождения ГПМ</attribut_type>
<attribut_for_string>Адрес</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.2.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.2.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.3.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.3.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.4.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.4.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.5.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.5.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.6.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.6.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.7.1</attribut_type>
<attribut_for_string>Нет</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.6.7.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.7.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.7.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.8.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.8.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.9.1.1</attribut_type>
<attribut_for_string>Не представлен</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>GPM.9.1.2</attribut_type>
<attribut_for_datetime/>
</subject_attribut_info>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Данные ГПМ</attribut_type>
<subject_attribut_info>
<attribut_type>Наименование ГПМ</attribut_type>
<attribut_for_string>Лифт</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Заводской номер ГПМ</attribut_type>
<attribut_for_string>90469</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Учётный номер ГПМ</attribut_type>
<attribut_for_string/>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Организация-изготовитель (завод-изготовитель)</attribut_type>
<attribut_for_string>Органмизация</attribut_for_string>
</subject_attribut_info>
<subject_attribut_info>
<attribut_type>Адрес места нахождения ГПМ</attribut_type>
<attribut_for_string>Адрес</attribut_for_string>
</subject_attribut_info>
</subject_attribut_info>
</subject_attribut_form>
</subject_attributs>
</insured_subject>



Хмл файл вида я его урезала файл сам очень большой.

Результат который нужен приложила в файле
...
Рейтинг: 0 / 0
04.06.2018, 12:12
    #39654786
fire0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена depricate функций
Вот результат второго запроса
...
Рейтинг: 0 / 0
04.06.2018, 12:14
    #39654790
fire0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена depricate функций
Вот результат второго запроса
...
Рейтинг: 0 / 0
06.06.2018, 08:59
    #39656094
fire0303
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Замена depricate функций
Помогите пожалуйста вопрос срочный.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Замена depricate функций / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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