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

Откуда:
Сообщений: 481
есть тип массива TMYVALUES
из элементов типа
TMYVALUE(
TTYPE VARCHAR2(20)
TDATA VARCHAR2(1000)
)

и есть таблица
mytable (
id_mytable INTEGER,
myData TMYVALUES
);


как можно получить данные типа myData[0].TTYPE из простого запроса:
SELECT 
  id_mytable,
  myData     
FROM 
  mytable;
в таком случае при подключении через одбс получаю сообщение: "Тип данных не поддерживается"

а если через sqlplus то он выдает кучу других ненужных мне данных по этому массиву..
TMYVALUES(TTYPE , TDATA )
--------------------------------------------------------------------------------
TMYVALUES(TMYVALUE('2155', 'zsfgzx'), TMYVALUE('333', 'sfss'), TMYVALUE('333', '...'))


как в селекте прописать чтобы получить нужное поле из нужного элемента из массива??
31 июл 09, 19:27    [7486476]     Ответить | Цитировать Сообщить модератору
 Re: как получить данные из массива пользовательского типа данных с помощью SELECT'A  [new]
zloyGamer
Member

Откуда:
Сообщений: 481
есть какойто стандартный или какието общие правила доступа к нужному полю из массива элементов?
например как к последовательностям(value, nextvalue) ?

нельзя ли тут получить значение поля mydata через кострукцию вида:
SELECT 
  myData.index(1).tdata
FROM 
  mytable
надо значение именно 2го элемента массива из поля myData
как это можно сделать? какие есть способы навигации по таким типам данных?
31 июл 09, 19:50    [7486510]     Ответить | Цитировать Сообщить модератору
 Re: как получить данные из массива пользовательского типа данных с помощью SELECT'A  [new]
Elic
Member

Откуда:
Сообщений: 29976
zloyGamer
какие есть способы навигации по таким типам данных?
Сперва нужно получить понимание (образование) общего уровня, чтобы уметь правильно выбирать типы данных.
Выбрать тип данных, а потом плаксиво учиться с ним работать - это как телега спереди лошади. И это лишь мягкое сравнение.
31 июл 09, 20:25    [7486549]     Ответить | Цитировать Сообщить модератору
 Re: как получить данные из массива пользовательского типа данных с помощью SELECT'A  [new]
zloyGamer
Member

Откуда:
Сообщений: 481
Elic
Сперва нужно получить понимание (образование) общего уровня, чтобы уметь правильно выбирать типы данных. Выбрать тип данных, а потом плаксиво учиться с ним работать - это как телега спереди лошади. И это лишь мягкое сравнение.

спасибо тебе дорогой человек! видимо у тебя уже есть "понимание (образование) общего уровня" - и поэтому ты считаешь что новичков можно с дерьмом смешивать!?,
хотя я и за это тебе очень благодарен, ты заставили немного задуматься и вспомнить некоторые вещи которые нетак давно решил..

вообщем я нашел что к чему, для моего случая будет так:
TABLE(CAST(myData AS TMYVALUES)),
и знаю я про типы!, просто чуток подзабыл этот момент..., и вместо тогочтобы поливать грязью - могбы просто сказать TABLE(CAST(ляля AS ага)) ,
но и на том ОГРОМНОЕ спасибо!
31 июл 09, 22:16    [7486754]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить