powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Произвольное наименование тэга в XMLTABLE
3 сообщений из 3, страница 1 из 1
Произвольное наименование тэга в XMLTABLE
    #40106539
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Как можно передать произвольное наименование тэга через входной параметр iTagName в функцию XMLTABLE? Может, есть какие-то способы?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
  PROCEDURE PARSE_DATA (iXMLContent  IN XMLTYPE
                      , iTagName     IN VARCHAR2
                      , oResult      OUT XMLTYPE) IS
  BEGIN
    SELECT SOME_DATA 
      INTO oResult 
      FROM  XMLTABLE ('someRootTags'                
                PASSING iXMLContent
                COLUMNS SOME_DATA    XMLTYPE    PATH iTagName);
  EXCEPTION WHEN NO_DATA_FOUND THEN
    oResult := NULL; 
  END;



Компилятор не хочет компилить такую процедуру, выдаёт ошибку ORA-01780:
компилятор[Warning] ORA-24344: success with compilation error

2074/62 PL/SQL: ORA-01780: string literal required

2070/5 PL/SQL: SQL Statement ignored
(1: 0): Warning: compiled but with compilation errors



Версия OracleOracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
...
Рейтинг: 0 / 0
Произвольное наименование тэга в XMLTABLE
    #40106618
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
CREATE OR REPLACE
  PROCEDURE PARSE_DATA(
                       iXMLContent  IN XMLTYPE,
                       iTagName     IN VARCHAR2,
                       oResult      OUT XMLTYPE
                      )
    IS
        v_path VARCHAR2(100) := 'someRootTags/' || iTagName;
    BEGIN
        SELECT SOME_DATA
          INTO oResult
          FROM  XMLTABLE(
                         v_path
                         PASSING iXMLContent
                         COLUMNS
                           SOME_DATA XMLTYPE PATH '.'
                       );
      EXCEPTION
        WHEN NO_DATA_FOUND
          THEN
            oResult := NULL;
END;
/

Procedure created.

SQL>



SY.
...
Рейтинг: 0 / 0
Произвольное наименование тэга в XMLTABLE
    #40106690
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SY,

Спасибо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Произвольное наименование тэга в XMLTABLE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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