Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / extract и extractValue / 20 сообщений из 20, страница 1 из 1
21.04.2017, 09:21
    #39442033
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
Не могу никак понять как работают эти операторы (((
в коде встретил вот такие вот строки:
Код: plsql
1.
extractValue('//return/@errorCode')


Но тут же делаю им:
Код: plsql
1.
2.
SELECT extractValue('//return/@errorCode')
  FROM dual;


и он ругается, говорит - неостаточно параметров для функции, и подчёркивает её ((
То же самое с
Код: plsql
1.
extract('//word')


в одкументации и правда пречислено больше параметров, но тогда почему первый код работает?
...
Рейтинг: 0 / 0
21.04.2017, 09:24
    #39442034
saxarock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
...
Рейтинг: 0 / 0
21.04.2017, 09:25
    #39442035
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RAbiturient2015тогда почему первый код работает?

Пруф в студию
...
Рейтинг: 0 / 0
21.04.2017, 09:27
    #39442037
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
Пока что пост больше тянет на "буддистские коаны средствами Oracle"
...
Рейтинг: 0 / 0
21.04.2017, 09:34
    #39442042
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
envRAbiturient2015тогда почему первый код работает?

Пруф в студию

На Прув )))

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
constructor function Q$P(s_x xmltype) 
return s as result as
		tg q$tg;
function extractValue(s_p varchar2) return varchar2 as
		begin
		return case when sx.existsnode(s_p) > 0 then sx.extract(s_p).getStringVal() 
                            else null 
                          end;
		end;
	begin
		S.rC    := extractValue('//return/@errorCode');
		return;
	end;
...
Рейтинг: 0 / 0
21.04.2017, 09:37
    #39442043
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
constructor function Q$P(s_x xmltype) 
return s as result as
		tg q$tg;
function extractValue(s_p varchar2) return varchar2 as
		begin
		return case when sx.existsnode(s_p) > 0 then sx.extract(s_p).getStringVal() 
                            else null 
                          end;
		end;
	begin
		S.rC    := extractValue('//return/@errorCode');
		return;
	end;

[/quot]

На сколько я смог дошарить своим мозгом )))
Тут Конструктор типа что ли, в котором перечислена функция, в результате выполнения которой, в поле структуры S.rC записывается выражение extractValue('//return/@errorCode'),
и никакой ошибки не возникает, а как-то то всё работает, непонятно (((
...
Рейтинг: 0 / 0
21.04.2017, 09:45
    #39442047
anvano
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
То, что у вас объявлена локальная функция с тем же названием

function extractValue(s_p varchar2) return varchar2

не смущает ? :)
...
Рейтинг: 0 / 0
21.04.2017, 09:50
    #39442051
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
anvanoТо, что у вас объявлена локальная функция с тем же названием

function extractValue(s_p varchar2) return varchar2

не смущает ? :)

А чо так можна что ле функции и зарезервированные операторы одниме и теме же названиями называть 0_0 ???
...
Рейтинг: 0 / 0
21.04.2017, 09:53
    #39442056
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RMagistr2015,

авторзарезервированные операторы
а где вы увидели его ?
...
Рейтинг: 0 / 0
21.04.2017, 09:58
    #39442060
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
123ййRMagistr2015,

авторзарезервированные операторы
а где вы увидели его ?

а Вот
...
Рейтинг: 0 / 0
21.04.2017, 10:02
    #39442063
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RMagistr2015,

вижу буквы, а слово сложить не умею ?
The EXTRACTVALUE function
...
Рейтинг: 0 / 0
21.04.2017, 11:34
    #39442131
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
123ййRMagistr2015,

вижу буквы, а слово сложить не умею ?
The EXTRACTVALUE function

Как понять это утверждение ? )))))ам же написано - функция EXTRACTVALUE ))) Что не так ? )))
...
Рейтинг: 0 / 0
21.04.2017, 11:39
    #39442134
123йй
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RMagistr2015,
а я что спрашивал 20421146
...
Рейтинг: 0 / 0
21.04.2017, 11:50
    #39442149
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
123ййRMagistr2015,
а я что спрашивал 20421146
Прошу прощения, я не понимаю Вас, что именно вы хотите сказать, добрейший ? ))))
...
Рейтинг: 0 / 0
21.04.2017, 12:50
    #39442218
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
123ййRMagistr2015,
а я что спрашивал 20421146
Т.е. вы хотите сказать, что это не оператор )))
А правильно ли я понял - это стандартная функция oracle (EXTRACTVALUE) ?
...
Рейтинг: 0 / 0
21.04.2017, 14:24
    #39442303
Бракованный финский угорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RMagistr2015, у меня тоже Oracle c багом :(

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
set serveroutput on
declare  
  l_num number;
  
  function xmltype return number
  is
  begin
    return 1;
  end;
  
begin
  l_num := xmltype;
  dbms_output.put_line(l_num);
  dbms_output.put_line(xmltype);
end;




Баг 11

Что будем делать? ты в саппорт напишешь? или я?
...
Рейтинг: 0 / 0
21.04.2017, 14:41
    #39442313
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
Бракованный финский угорьRMagistr2015, у меня тоже Oracle c багом :(

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
set serveroutput on
declare  
  l_num number;
  
  function xmltype return number
  is
  begin
    return 1;
  end;
  
begin
  l_num := xmltype;
  dbms_output.put_line(l_num);
  dbms_output.put_line(xmltype);
end;




Баг 11

Что будем делать? ты в саппорт напишешь? или я?

Ничоси, акатак? 0_0
...
Рейтинг: 0 / 0
21.04.2017, 14:53
    #39442319
RMagistr2015
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
А почему? 0_0
...
Рейтинг: 0 / 0
21.04.2017, 17:07
    #39442441
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RMagistr2015в одкументации и правда пречислено больше параметров, но тогда почему первый код работает?

A ещё "в одкументации пречислено":

EXTRACTVALUENote:
The EXTRACTVALUE function is deprecated . It is still supported for backward compatibility. However, Oracle recommends that you use the XMLTABLE function, or the XMLCAST and XMLQUERY functions instead. See XMLTABLE, XMLCAST, and XMLQUERY for more information.

SY.
...
Рейтинг: 0 / 0
21.04.2017, 17:17
    #39442448
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
extract и extractValue
RMagistr2015А чо так можна что ле функции и зарезервированные операторы одниме и теме же названиями называть 0_0 ???

Example B-5 Subprogram Name for Name Resolution
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / extract и extractValue / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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