|
Возможно ли сделать function (x in sys_refcursor) return anydataset pipelined using udt ?
|
|||
---|---|---|---|
#18+
Проблема в том, что на этапе ODCITableDescribe(x out anytype, c sys_refcursor) я должен превратить sys_refcursor в cursor_number, но тогда он будет утрачен навсегда. А если я использую ODCITableDescribe(x out anytype, c in out sys_refcursor), и внутри делаю сначала n := dbms_sql.to_cursor_number(c), и в конце - c := dbms_sql.to_refcursor(n), то я не могу использовать в качестве параметра функцию, возвращающую sys_refcursor. То есть: такое не работает: Код: plsql 1.
Ругается: "выражение 'NULL' не м.б. использовано как адресат назначения". И его можно понять. Однако, работает такое: Код: plsql 1.
Что подскажете? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 15:10 |
|
Возможно ли сделать function (x in sys_refcursor) return anydataset pipelined using udt ?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2020, 17:50 |
|
Возможно ли сделать function (x in sys_refcursor) return anydataset pipelined using udt ?
|
|||
---|---|---|---|
#18+
Неужели только начиная с 18с ? Oracle 18c : PL/SQL support for pipelined table functions returning ANYDATASET ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 19:29 |
|
|
start [/forum/topic.php?fid=52&msg=39921102&tid=1881579]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 156ms |
0 / 0 |