|
|
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
andrey_anonymous, Вопрос был конкретному месье из Львова. Теперь вопрос "что у него за архитектура, что приходится передавать курсоры как параметры", но это уже не так интересно. Во-первых можно использовать глабальные "обычные" курсоры, а во-вторых было бы желание, нагородить можно все что угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 14:22:36 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousstax..недавно появилась возможность с REF_CURSOR получить CURSOR и наоборoт Я чего-то не знаю ? Именно cursor, а не хендлер dbms_sql? не может такого быть хендлер DBMS_SQL.TO_CURSOR_NUMBER) DBMS_SQL.TO_REFCURSOR ps я курсоры открытые с помощью DBMS_SQL причислил к "обычным" курсорам ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 14:28:53 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Глупый Телевизорandrey_anonymous, Вопрос был конкретному месье из Львова. Теперь вопрос "что у него за архитектура, что приходится передавать курсоры как параметры", но это уже не так интересно. Во-первых можно использовать глабальные "обычные" курсоры, а во-вторых было бы желание, нагородить можно все что угодно. пример 1) ф-ция Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2) динамический, для меня проще чем через dbms_sql 3) в ХМЛ (я не пользую,но коллеги да) и тд (уже привели table(cursor) зы однозначно можно обойтись и без реф курсора, раньше ж обходились, но зачем? .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 14:43:22 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
stax..Глупый Телевизорandrey_anonymous, Вопрос был конкретному месье из Львова. Теперь вопрос "что у него за архитектура, что приходится передавать курсоры как параметры", но это уже не так интересно. Во-первых можно использовать глабальные "обычные" курсоры, а во-вторых было бы желание, нагородить можно все что угодно. пример 1) ф-ция Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 2) динамический, для меня проще чем через dbms_sql 3) в ХМЛ (я не пользую,но коллеги да) и тд (уже привели table(cursor) зы однозначно можно обойтись и без реф курсора, раньше ж обходились, но зачем? .... stax1. И функция потом вызывается в PL/SQL? Выбор в пользу реф курсор сделан из-за желания НЕ создавать конкретные типы для результата или есть еще причины? 2. Речь про dsql method 4 или какие-то еще причины? Есть же еще execute immediate. Ну и возможность задавать в обычном курсоре произвольный стейтмент строкой. 3. Про что речь? Про возможность читать данные из реф курсор с помощью xml? Или что-то еще? Про проблемы с производительностью при таком подходе я, надеюсь, коллегам изветсно. зы Как обойтись без реф курсор при возврате данных на клиет? Скажем, если речь про Оракл 7 когда нет ни XML, ни пайплайнов, ни коллекций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 14:54:44 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Глупый ТелевизорСкажем, если речь про Оракл 7Глупый довод. Архаически глупый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:01:04 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Elic, зы было ответом на зы Интересно как обходились раньше. Остальное пронумеровано в соответствии с исходными тезисами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:11:32 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
[quot Глупый Телевизор]stax..пропущено... 1. И функция потом вызывается в PL/SQL? Выбор в пользу реф курсор сделан из-за желания НЕ создавать конкретные типы для результата или есть еще причины? 2. Речь про dsql method 4 или какие-то еще причины? Есть же еще execute immediate. Ну и возможность задавать в обычном курсоре произвольный стейтмент строкой. 3. Про что речь? Про возможность читать данные из реф курсор с помощью xml? Или что-то еще? Про проблемы с производительностью при таком подходе я, надеюсь, коллегам изветсно. зы Как обойтись без реф курсор при возврате данных на клиет? Скажем, если речь про Оракл 7 когда нет ни XML, ни пайплайнов, ни коллекций. 1) по разному, вплоть до формсов 2) a)dbms_sql для меня неудобний б)как Вы используете execute immediate напр когда надо обработать сотни тысяч строк? 3) я не пользую ХМЛ (к сожленью), другие да ЗЫ нет в 7-м реф курсора, и передавать курсор между клиентами не получится по крайней мере я не знаю как ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:11:42 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Глупый ТелевизорКак обойтись без реф курсор при возврате данных на клиет? Обычным курсором, открытым самим клиентом - уже никак? stax..нет в 7-м реф курсора 7.3.4 - вроде как был... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:22:45 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Если в ранних версиях в оракле не было рефКурсора, то тогда как сторонние приложения делали выборку из базы данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:24:13 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
stax..нет в 7-м реф курсораRTFM Oracle7 Release 7.3.4. PL/SQL User's Guide and Reference: Using Cursor Variables (FAQ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:24:59 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
stax..как Вы используете execute immediate напр когда надо обработать сотни тысяч строк?Можно предварительно запихать сотни тысяч в PGA коллекции. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Как я понял речь не про method 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:28:06 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Elicstax..нет в 7-м реф курсораRTFM Oracle7 Release 7.3.4. PL/SQL User's Guide and Reference: Using Cursor Variables (FAQ) значит я забыл раз забил то 1) пользовался очень редко 2) вообще не использовал sys_refcursor 3) моя феритовая память сбоит п3 найболее вероятен в шестом точно не было ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:38:04 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
Глупый Телевизорstax..как Вы используете execute immediate напр когда надо обработать сотни тысяч строк?Можно предварительно запихать сотни тысяч в PGA коллекции. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Как я понял речь не про method 4. на выборках больше тысчи я так не делал (за редким исключением) dbms_sql не люблю независимо от 4 ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:39:31 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
lalafaЕсли в ранних версиях в оракле не было рефКурсора, то тогда как сторонние приложения делали выборку из базы данных? Еще раз, меедленно: - Единственным (!) способом (имеется ввиду штатно - DUL, HexEditor, CDC и подобное пока что в расчет не берем :)) получить датасет от Oracle RDBMS является механизм, доступ к которому осуществляется посредством курсора. - Курсор может быть открыт разработчиком явно, а может быть открыт неявно тем инструментом, который осуществляет взаимодействие с БД, но он БУДЕТ ОТКРЫТ. - Ref Cursor - это ссылка на курсор, которая может быть использована для передачи управления открытым курсором от кода, курсор открывшего, некоторому другому коду. В частности - от серверного кода коду клиентскому. - Будучи ссылкой, Ref Cursor может быть присоединен к курсору, возвращающему даднные любой структуры, что позволяет частично обойти ограничения синтаксиса PL/SQL и дает дополнительный механизм для организации DSQL в PL/SQL . Джава и прочие си не нуждаются в Ref Cursor для организации DSQL, им и обычного курсора для этих целей более чем достаточно. - Для того, чтобы Ref Cursor можно было надежно обрабатывать в PL/SQL как обычный курсор - его тоже можно типизировать . Типизированный Ref Cursor называется STRONG Ref Cursor, нетипизированный - соответственно, weak. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 15:41:36 |
|
||
|
REF CURSOR что это и зачем.
|
|||
|---|---|---|---|
|
#18+
lalafaЕсли в ранних версиях в оракле не было рефКурсораЛибо автор вброса говорил о версиях до появления серверного plsql, то есть plsql-ный тип просто неприменим. Либо имел ввиду, что не было sys_refcursor, но это не мешало объявлять и использовать ref cursor. Просто дополнительная строчка объявления типа в пользовательских пакетах с 9й версии больше не необходима, так как получила стандартное публичное имя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2016, 17:00:31 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39289780&tid=1887692]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
283ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 579ms |

| 0 / 0 |
