|
|
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
Доброго дня господа ! Возможно ли представить курсор как поле объекта А именно Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Пакетные решения мне известны Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Благодарен за решение в PL/SQL коде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 10:40 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_XВозможно ли представить курсор как поле объектаВ SQL нет типа данных "курсор". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 10:50 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
Elic, Принято ! Хотел реализовать В конструктор передали 1 параметр - задекла-ся курсор со скриптом N1 с переданным параметром В конструктор передали 2 параметра - задекла-ся курсор со скриптом N2 c переданными параметром Функция Show открыла этот курсор, просканила его вернула pipelined (возвращаемый тип идентичен) Какое возможно ПРОСТОЕ И ИЗЯЩНОЕ решение ? Напрашивается 1. Два конструктора создают длинную строку SQL скрипта, пишу в String поле, использую далее в курсоре 2. Резервирование полей для параметров обеих типов конструктора, далее анализ какой тип конструктора был вызван, декларация соответствующего курсора в функции Show (параметров штук 20) Ваши предложения ? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 11:33 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_XВаши предложения ?Не надо за уши притягивать измышлизмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 12:11 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_XВаши предложения ? Если версия 11g, то можешь попробовать создать поле типа cursor_id и потом работать с ним через dbms_sql.to_refcursor. Если версия 12c, то можешь посмотреть в сторону dbms_sql.return_result и реализовать метод, который возвращает implicit result set. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 13:08 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
dbms_photoshop, Вашу мысль понял Вас, где src_cur - поле объекта Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Вопрос как извлечь id cursora (curid) при такой декларации declare cursor Q1 is select 1 F1 from DUAL union all select 2 F1 from DUAL; begin ...... end Писать текст (sql_stmt := 'select 1 А1 from DUAL';) в моем случае неудобно. Заранее благодарен ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 15:29 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
Поскольку Вы хотите "курсор как поле объекта" (т.е. типа member variable), а не "Тип <КУРСОР> как поле объекта", то напрашивается ето: HOME_X Код: plsql 1. 2. 3. 4. 5. 6. так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 15:44 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_XВозможно ли представить курсор как поле объектаДля чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 15:46 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
ElicВ SQL нет типа данных "курсор". Он вроде бы как бы и есть Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. а вроде бы как бы и нет Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 15:50 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
AmKadДля чего?если ТС и в пакетах использует совершенно ненужную конструкцию TYPE gencurtyp IS REF CURSOR, то что-то мне подсказывает, что он не вкурсе, что такое SYS_REFCURSOR.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 15:51 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
А в 12 ето можно делать? PLS-00989: Cursor Variable in record, object, or collection is not supported by this release ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:01 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
--Eugene--AmKadДля чего?если ТС и в пакетах использует совершенно ненужную конструкцию TYPE gencurtyp IS REF CURSOR, то что-то мне подсказывает, что он не вкурсе, что такое SYS_REFCURSOR.. если чесно, то я тож разницу не знаю (кроме удобства) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:03 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
--Eugene--Поскольку Вы хотите "курсор как поле объекта" (т.е. типа member variable), а не "Тип <КУРСОР> как поле объекта", то напрашивается ето: HOME_X Код: plsql 1. 2. 3. 4. 5. 6. так? gencurtyp sys_refcursor, и что так возможно ? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:05 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
AmKad, Пояснение вышеизложено, для передачи указателя на курсор между методами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:08 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_Xпри такой декларацииВероятно тебе сначала стоит узнать что такое реф курсор. AmKadа вроде бы как бы и нетcursor expressions предназначены прежде всего для PL/SQL Static SQL https://docs.oracle.com/cloud/latest/db112/LNPLS/static.htm За исключением экзотики типа xmltype. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:08 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopЗа исключением экзотики типа xmltype. XMLSEQUENCE rules! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:17 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
[quot dbms_photoshop] В моем случае - это ничего не дает. Дешевле текст запроса передать как параметр (очень длинная строка) Так как в целом строку запроса приходиться формировать как для REF CUR так и для передачи параметра. Спасибо за уделенное время Может есть еще идеи ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:30 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_XМожет есть еще идеи ? Не очень понимаю суть затруднений. Если речь о static SQL, то ref cursor можно открывать (да, в теле - но все-таки статиком) так: Код: plsql 1. 2. 3. 4. Кроме того, если структуры тоже статичны, то, возможно, вместо weak ref cursor лучше подойдет strong ref cursor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 16:55 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, Не-не - дошел до истины ... Все в норме Код: 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. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. select ttAA(To_date('01-01-2017','DD-MM-YYYY'),To_date('01-01-2017','DD-MM-YYYY')).Show() from DUAL !!! dbms_photoshop - ЧЕЛОВЕЧИЩЕ большое спасибо за идею !!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 17:26 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousНе очень понимаю суть затруднений. Иногда надо вовремя ПОАААБЕДАТЬ (и тема решается самопроизвольно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 17:30 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
AmKadОн вроде бы как бы и естьВ OCI только ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 17:51 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_X Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 19:11 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
--Eugene-- OPEN src_cur FOR select 30 F1 from DUAL union all select 20 F1 from DUAL; -- >>>практически один хрен что OPEN FOR 'select foo from bar where col = :1' using var;<<< У меня в продуктиве это выглядит на строк 70-100 с константами (которые в козявках 'hhhhh' и за которыми нужно следить) А в этом случае я просто откопирую отлаженный в Dev-ре запрос, предварительно фиксируя параметры и типы Т.е. проще в сборке и отладке а в целом "ХРЕН один" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2017, 00:58 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
HOME_Xв целом "ХРЕН один" Статическая компиляция существенно удобнее динамической уже потому, что отлавливает многие ошибки на этапе компиляции, а не в рантайме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2017, 01:19 |
|
||
|
Декларация курсора в user type
|
|||
|---|---|---|---|
|
#18+
ElicAmKadОн вроде бы как бы и естьВ OCI только про только не понял Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. и тд ... ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2017, 08:40 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39483238&tid=1885643]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 426ms |

| 0 / 0 |
