|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
предположим, надо вернуть из процедуры некий select. можно сделать refcursor но для каждой строки этого селекта надо вернуть еще один набор данных. например, надо вернуть select * from emp, и для каждого сотрудника еще и список его детей. какие есть best practices ? сам вижу такие варианты: - складывать второй массив в строку и возврвщать как строку с разделителем - возвращать основной как рефкурсор, вторую выборку массивом - все массивом ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 11:47 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
Какой цели вы хотите достичь? Опишите подробно. Возможно, что она достигается более естественными способами. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 11:49 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодил, Один из неестественных вариантов: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 11:53 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
SQL*PlusКакой цели вы хотите достичь? Опишите подробно. Возможно, что она достигается более естественными способами. яж написал вернуть select * from emp, и для каждого сотрудника еще и список его детей. предположим дети хранятся в таблице childs (emp_id, child_num, child_name) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:00 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодилSQL*PlusКакой цели вы хотите достичь? Опишите подробно. Возможно, что она достигается более естественными способами.яж написал вернуть select * from emp, и для каждого сотрудника еще и список его детей. предположим дети хранятся в таблице childs (emp_id, child_num, child_name)Это не цель. Это некие действия, шаги, способ и т.п. Для чего, конкретно, вам это нужно? Описывайте цель, а не отдельный шаг ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:08 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодилSQL*PlusКакой цели вы хотите достичь? Опишите подробно. Возможно, что она достигается более естественными способами. яж написалНаписали ответ не на тот вопрос... :-) Наверное, я его недостаточно понятно задал... Изя Кацман Описывайте цель, а не отдельный шаг Да, это правильная ссылка... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:15 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
задача: вернуть из процедуры всех сотрудников департамента 10 и всех детей каждого из этих сотрудников. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 12:39 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодилзадача: вернуть из процедуры всех сотрудников департамента 10 и всех детей каждого из этих сотрудников.Вернуть в детский сад, откуда они все сбежали в процедуру? :-) О-пи-сы-ва-йте цель, а не от-дель-ный шаг! P.S. Еще вот это послушайте и/или почитайте :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 13:43 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
какой странный молодой человек. вернуть <в приложение>, в <другую процедуру>, туда откуда процедуру вызвали. так вот вернуть output параметрами всех сотрудников департамента 10 и всех детей каждого из этих сотрудников. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:01 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
А зачем вы спрашиваете? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:06 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодил, Один способ вам уже дали. Среди других - соорудить из записей(record)/коллекций/объектных типов нужную вам структуру; построить из выборки и вернуть XML-документ; массивы как вы сами написали. А те "best practices", которых вы ждете, не универсальны, их уместность зависит от того, куда возвращаются данные и как там используются. А это ("цель") вы почему-то скрываете. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:10 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
Поколдовав над хрустальным шаром.............. Код: plaintext 1. 2. 3. 4. 5.
Но какой в этом смысл........? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:11 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
задача элементарная есть 3 сотрудника, у каждого по 5 детей. надо вернуть в приложение 3(!) строки, одним из столбцов которого будет nested table или array, хоть xml (хотя лучше без него), содержащий детей сотрудника. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:21 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодил, знаешь что такое хрустальный шар? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:23 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодил3(!) строки, одним из столбцов которого будет nested table или array тут . А приложение-то поймет nested table или array? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:35 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодилесть 3 сотрудника, у каждого по 5 детей.А если у одного сотрудника не 5, а 6 детей? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:37 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
wildwind, спасибо. хотя до последнего не хотел создавать типы в SQL, без этого, вероятно, никуда. Изя Кацманя такой одинокий тролль-идиот! обнимите меня все, пожалуйста :( ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:44 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодилзадача элементарная есть 3 сотрудника, у каждого по 5 детей. надо вернуть в приложение 3(!) строки, одним из столбцов которого будет nested table или array, хоть xml (хотя лучше без него), содержащий детей сотрудника. Можно делать как угодно :) Все зависит от задачи(от того зачем вам это и что с этим дальше будуте делать). Вы же сами говорите - "хоть xml (хотя лучше без него)" Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:47 |
|
PLSQL: вернуть выборку, включая массив
|
|||
---|---|---|---|
#18+
коркодилне хотел создавать типы в SQL, без этого, вероятно, никуда. Почему же, есть куда. XML, ANYDATA/ANYDATASET, CLOB, конкатенация в строку в конце концов. Главное чтобы приложение разобралось. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2010, 14:57 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1917684]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
26ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 290ms |
total: | 440ms |
0 / 0 |