|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
Собственно вопрос, можно ли возвращать в Pipelined Table Function данные предварительно не описывая тип возвращаемых записей. В доках вроде дается какой-то намек на возможность такой операции, но реально что-то не получается: Oracle has three special SQL datatypes that enable you to dynamically encapsulate and access type descriptions, data instances, and sets of data instances of any other SQL type, including object and collection types. You can also use these three special types to create anonymous (that is, unnamed) types, including anonymous collection types. The types are SYS.ANYTYPE, SYS.ANYDATA, and SYS.ANYDATASET. The SYS.ANYDATA type can be useful in some situations as a return value from table functions. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2004, 12:46 |
|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
В доках вроде дается какой-то намек на возможность такой операции Я тоже так думал, но на самом деле как результат запроса можно вернуть типы, только явно описанные в словаре, и SYS.ANYTYPE не более как для манипулирования в PL\SQL, An ANYTYPE can contain a type description of any persistent SQL type, named or unnamed, including object types and collection types. It can also be used to construct new transient type descriptions. New persistent types can only be created using the CREATE TYPE statement . Only new transient types can be constructed using the ANYTYPE interfaces. т.е. скажем при помощи SYS.ANYDATA можно вернуть persistent тип, но никак не динамически сконструированный. может в 10 что то изменилось??? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2004, 13:02 |
|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
Так же столкнулся с вопросом. есть запрос Код: plsql 1.
отрабатывает отлично. Это транспонирование набора с динамическим формированием списка полей (их количество зависит от периода в запросе, т.е. динамические) Но, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Не работает: 4 PL/SQL: ORA-22905: невозможно получить доступ к строкам элемента, не являющегося вложенной таблицей Function:GET_MAT_HEAT 11 30 Ругается на Код: plsql 1.
ps: делал по этому совету ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 07:57 |
|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
stells2 Код: plsql 1.
В статичном PL/SQL всё должно быть статично. А тебе, возможно, поможет динамический OPEN. Т.е. смысла в притягивании ANY за уши совершенно нет. Достаточно просто получить текст итогового запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 08:08 |
|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
ElicВ статичном PL/SQL всё должно быть статично. А тебе, возможно, поможет динамический OPEN. Т.е. смысла в притягивании ANY за уши совершенно нет. Достаточно просто получить текст итогового запроса. Согласен, это наверно оптимально. Тут тогда вопрос - как, имея строку SQL запроса, открыть ref_cursor по нему, точнее, вернуть датасет клиенту. Может и тривиально, но, пока не соображу. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:08 |
|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
stells2Тут тогда вопрос - как, имея строку SQL запроса, открыть ref_cursor по нему, точнее, вернуть датасет клиенту. Может и тривиально, но, пока не соображу.Серьёзно? В дебри полез, а базис не освоил?! RTFM Native Dynamic SQL (FAQ) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:16 |
|
Как в Pipelined Table Function вернуть тип AnyDataset?
|
|||
---|---|---|---|
#18+
ElicСерьёзно? В дебри полез, а базис не освоил?! Так точно. Видимо часть запыленных инструментов прячется в дальних шкафах. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2019, 09:23 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1882088]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 254ms |
total: | 392ms |
0 / 0 |