Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Вывод значения полей массива  [new]
igor_alex
Member

Откуда:
Сообщений: 19
есть переменная:
p_check_response dbo_auth_check_account_resp;

этот тип:
CREATE OR REPLACE TYPE dbo_auth_check_account_resp UNDER dbo_auth_check_response
(
  imsi_modified_accounts pair_number_number_array
)

а он:
CREATE OR REPLACE TYPE pair_number_number_array IS TABLE OF pair_number_number

и уже тут:
CREATE OR REPLACE TYPE pair_number_number AS OBJECT
(
    key NUMBER,
    value NUMBER
)

Спажите пожалуйста,
как мне можно вывести поля key NUMBER и value NUMBER в DBMS_OUTPUT.PUT_LINE() ?
Как будет выглядеть эта строка?
попробовал:
DBMS_OUTPUT.PUT_LINE(to_char(p_check_response.imsi_modified_accounts.value));

Выдает ошибку (
Не знаю где можно прочитать по этому поводу что-либо ((
Прошу помощи (((
29 сен 17, 14:29    [20831819]     Ответить | Цитировать Сообщить модератору
 Re: Вывод значения полей массива  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27290
igor_alex
Не знаю где можно прочитать по этому поводу что-либо ((
RTFM PL/SQL Collections (FAQ): "You can access each element of a collection variable by its unique index, with this syntax: …"
29 сен 17, 14:37    [20831850]     Ответить | Цитировать Сообщить модератору
 Re: Вывод значения полей массива  [new]
stах,,,
Guest
igor_alex
Не знаю где можно прочитать по этому поводу что-либо ((


Магистр, друг! сейчас залогинюсь и напишу, подожди пару минут.
29 сен 17, 15:52    [20832115]     Ответить | Цитировать Сообщить модератору
 Re: Вывод значения полей массива  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 5422
igor_alex,

Какую из строк
RМагистр2015
TABLE OF pair_number_number
ты ожидаешь получить в выводе скаляра в put_line?
29 сен 17, 17:00    [20832317]     Ответить | Цитировать Сообщить модератору
 Re: Вывод значения полей массива  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 355
igor_alex
есть переменная:
p_check_response dbo_auth_check_account_resp;

этот тип:
CREATE OR REPLACE TYPE dbo_auth_check_account_resp UNDER dbo_auth_check_response
(
  imsi_modified_accounts pair_number_number_array
)

а он:
CREATE OR REPLACE TYPE pair_number_number_array IS TABLE OF pair_number_number

и уже тут:
CREATE OR REPLACE TYPE pair_number_number AS OBJECT
(
    key NUMBER,
    value NUMBER
)

Спажите пожалуйста,
как мне можно вывести поля key NUMBER и value NUMBER в DBMS_OUTPUT.PUT_LINE() ?
Как будет выглядеть эта строка?
попробовал:
DBMS_OUTPUT.PUT_LINE(to_char(p_check_response.imsi_modified_accounts.value));

Выдает ошибку (
Не знаю где можно прочитать по этому поводу что-либо ((
Прошу помощи (((


https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/collections.htm#LNPLS005

У Вас pair_number_number_array IS TABLE OF pair_number_number
Таблица (массив), для вывода значения надо указать какой елемент из массива Вы хотите вывести
(если все то нужен цикл)
шото типа такого
i:=p_check_response.imsi_modified_accounts.first;  --первый елемент из таблицы
--FOR i IN p_check_response.imsi_modified_accounts.FIRST .. p_check_response.imsi_modified_accounts.LAST  --цикл с первого по последний
--LOOP
  dbms_output.put_line(p_check_response.imsi_modified_accounts(i).value);
--END LOOP;


.....
stax
2 окт 17, 10:19    [20835544]     Ответить | Цитировать Сообщить модератору
 Re: Вывод значения полей массива  [new]
igor_alex
Member

Откуда:
Сообщений: 19
Stax,

Спасибо большое
2 окт 17, 12:07    [20835938]     Ответить | Цитировать Сообщить модератору
 Re: Вывод значения полей массива  [new]
Elic
Member

Откуда: 1984. Выбраковка финно-угром началась. КЯЗ
Сообщений: 27290
igor_alex
Stax,

Спасибо большое
Читать не стал, дождался местного пережёвывателя из простого в элементарнейшее.
2 окт 17, 12:15    [20835969]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить