|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
Всем привет. Есть функция 1 возвращающая sys_refcursor с большим количеством полей. И есть функция 2, в которой нужно использовать только несколько полей из результирующего курсора функции 1. Решается через объявление типа, соответствующего результирующему датасету курсора функции 1, но это решение не вполне устраивает (набор полей курсора функции 1 может меняться и отслеживать это никто не будет). Есть второе решение через перенос курсора в XMLTable и выборку из нее требуемых полей. Это решение не устраивает начальника. Больше ничего не могу придумать. Может быть кто-то знает, есть ли другие способы? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 18:03 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
capuzi, так не пойдет? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 18:22 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
а, прошу прощения, вам ведь нужно только пара полей из большого списка колонок курсора.. ступил ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 18:26 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
capuzi другие способы? иллюстрация Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 18:28 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
REFCURSOR --> DBMS_SQL cursor SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 18:30 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
можно даже FETCH-ить BULK-ами Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2019, 19:36 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
--Eugene-- можно даже FETCH-ить BULK-ами ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2019, 08:21 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
--Eugene-- [spoiler можно даже FETCH-ить BULK-ами] Только вывод подкорректировать, а то с толку немного сбило, что первые 10 записей выводятся зациклено Код: plsql 1.
поменять на Код: plsql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 16:57 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
а как насчет Pipeline ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 17:38 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
andreymx а как насчет Pipeline ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2019, 17:50 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
вот тоже интересно, в pipeline можно профетчить несколько полей курсора? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2019, 06:08 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
capuzi вот тоже интересно, в pipeline можно профетчить несколько полей курсора? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2019, 07:12 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
Elic Откуда сомнения? вопрос в том, как для курсора с неизвестным набором полей объявить переменную с типом курсор%rowtype, чтобы использовать pipe row(переменная)? dbms_sql в принципе всем устроил, но раз речь зашла о pipeline, то интересно есть ли такая возможность.. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 16:15 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
capuzi вопрос в том, как для курсора с неизвестным набором полей объявить переменную с типом курсор%rowtype, чтобы использовать pipe row(переменная)? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 16:37 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
Elic Pipe не может выплюнуть неизвестное. Вообще-то может... если неизвестное становится известным в момент парсинга, ессно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 16:41 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
в этом случае вопрос как отфетчить из курсора только требуемые поля без использования xml преобразования? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 17:06 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
capuzi в этом случае вопрос как отфетчить из курсора только требуемые поля без использования xml преобразования? http://www.bugtraq.ru/forum/faq/general/smart-questions.html] RTFM ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 07:46 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
по сообщению 22019912 о pipeline предполагал, что есть еще идеи, кроме использования xml или dbms_sql всем спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 09:34 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
По поводу вывода в pipeline функции произвольной выборки, нашел рабочий пример https://stackoverflow.com/questions/14155844/return-resultset-from-function Как я понял, мы для функции указываем тип anydataset для pipe - и использовать наш объектный тип, где мы переопределяем методы, которые использует SQL Engine, для определения этого типа "на лету". Далее с помощью dbms_sql парсим сам SQL запрос, а с помощью методов anydataset определяем его структуру и запихиваем данные в экземпляр нового типа. Единственное, что он работает только если cursor_sharing = 'EXACT'. Понять на пальцах и подогнать готовый пример под свои нужды наверное удалось. Что то вроде имплементации интерфейса выходит, но ощущения полного понимания у меня нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 15:33 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
capuzi по сообщению 22019912 о pipeline предполагал, что есть еще идеи, кроме использования xml или dbms_sql Можно использовать pipelined, но унутре все одно придется разбирать и генерировать структуры, кроме того, появится проблема с организацией принудительного хард-парса запроса к pipelined при изменении структуры weak ref cursor. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 15:36 |
|
fetch нескольких полей из sys_refcursor
|
|||
---|---|---|---|
#18+
роман23t в pipeline функции произвольной выборки ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 16:11 |
|
|
start [/forum/topic.php?fid=52&msg=39889891&tid=1881807]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 158ms |
0 / 0 |