Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex и ref cursor / 17 сообщений из 17, страница 1 из 1
19.06.2008, 11:35
    #35382148
Apex и ref cursor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
Apex может формировать таблицы из ref cursor'а ?
...
Рейтинг: 0 / 0
19.06.2008, 17:23
    #35383421
Pir
Pir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
нет. какая в этом необходимость ?
не получается обойтись одним запросом и вы пишите процедуру, в которой обрабатываете данные во временных таблицах, и возвращаете рефкурсор?

тогда просто создавайте pl/sql процесс уровня Page Rendering и вызывайте в нем процедуру, которая заполняет временную таблицу. и уже по ней стройте репорт или что нужно..
...
Рейтинг: 0 / 0
19.06.2008, 17:38
    #35383473
Pir
Pir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
но если очень нужно - рисуйте таблицы самостоятельно
для примера:
Create Region -> PL/SQL Dynamic Content
Код: plaintext
1.
2.
3.
4.
5.
htp.p ('<table>');
for i in (select * from table) loop
 htp.p ('<tr><td>' || i.column_1 || '</td><td>' || i.column_2 || '</td></tr>');
end loop;
htp.p ('</table>');
...
Рейтинг: 0 / 0
20.06.2008, 05:09
    #35384056
Apex и ref cursor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
Я пока присматриваюсь к Apex'у... Подойдет он мне или нет ...
У меня куча запросов формируется в рантайме функциями и их результаты нужно выводить.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.02.2013, 08:48
    #38145512
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
Такую возможность не добавили? Или хотя бы по коллекции? Временная таблица - это фи. Чай оракл, а не MS SQL, правильно использовать реф курсор...
...
Рейтинг: 0 / 0
11.02.2013, 09:22
    #38145533
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
alex-lsТакую возможность не добавили? Или хотя бы по коллекции? Временная таблица - это фи. Чай оракл, а не MS SQL, правильно использовать реф курсор... Голосуй или проиграешь.
Нет пока, судя по всему.
...
Рейтинг: 0 / 0
11.02.2013, 12:10
    #38145777
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
pipelined.

P.S. rockclimber, голосуй - не голосуй, как не позволяет SQL генерировать запросы с переменным количеством столбцов, так и апекс с refcursor дружить скорее всего не будет. Есть вещи, с которыми надо просто смириться...
...
Рейтинг: 0 / 0
11.02.2013, 15:50
    #38146282
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
alex-lsТакую возможность не добавили?

STFF sys_refcursor .

alex-lsИли хотя бы по коллекции?
Если коллекция -- это SQL-тип TABLE OF, то ничего не мешает использовать соответствующий запрос. Если имеется в виду коллекция APEX , то выборка из представления APEX_COLLECTIONS ничуть не сложнее.
...
Рейтинг: 0 / 0
11.02.2013, 16:03
    #38146316
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
SvDevкак не позволяет SQL генерировать запросы с переменным количеством столбцов
Зато SQL позволяет формировать произвольный XML, который можно потом использовать в качестве источника данных во всяких ExtJS .

PL/SQL позволяет создавать произвольные запросы. А в APEX API есть удобные обёртки вокруг DBMS_SQL, которые позволяют эти запросы выполнять: APEX_PLUGIN_UTIL.get_data , APEX_PLUGIN_UTIL.get_data . И потом в PL/SQL рисовать циклом табличку. Можно считать, что APEX своеобразно дружит со слабо типизированными ссылочными курсорами. Неудобно, конечно.
...
Рейтинг: 0 / 0
12.02.2013, 05:51
    #38147092
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
кстати попробовал использовать xmltable по Вашему совету suPPLer и что-то странное вышло... колонки есть, строки есть но все пусто :) что это значит???
Код: sql
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.
SQL> select rn, km
  2  from xmltable(
  3    '/ROWSET/ROW'
  4    passing xmltype(fut.pkg_logistics.
  5    columns
  6      rn number(10) path 'rn',
  7      st_from varchar2(100) path 'st_f
  8      rg_name varchar2(100) path 'rg_n
  9      sender_name varchar2(100) path '
 10      sender_okpo varchar2(100) path '
 11      gg_name varchar2(100) path 'gg_n
 12      km number(10) path 'km',
 13      cnt number(10) path 'cnt',
 14      st_code varchar2(100) path 'st_c
 15  /

        RN         KM
---------- ----------












        RN         KM
---------- ----------












        RN         KM
---------- ----------




25 rows selected.

SQL>


данные конечно есть, с этим все в порядке...
...
Рейтинг: 0 / 0
12.02.2013, 05:52
    #38147094
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
опечатка...
Код: sql
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.
SQL> select rn, km
  2  from xmltable(
  3    '/ROWSET/ROW'
  4    passing xmltype(fut.pkg_logistics.apex_ref_cursor)
  5    columns
  6      rn number(10) path 'rn',
  7      st_from varchar2(100) path 'st_from',
  8      rg_name varchar2(100) path 'rg_name',
  9      sender_name varchar2(100) path 'sender_name',
 10      sender_okpo varchar2(100) path 'sender_okpo',
 11      gg_name varchar2(100) path 'gg_name',
 12      km number(10) path 'km',
 13      cnt number(10) path 'cnt',
 14      st_code varchar2(100) path 'st_code')
 15  /

        RN         KM
---------- ----------












        RN         KM
---------- ----------












        RN         KM
---------- ----------




25 rows selected.

SQL>
...
Рейтинг: 0 / 0
12.02.2013, 12:59
    #38147569
guest-04
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
alex-ls,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select kod,kod2
   from xmltable(
      '/ROWSET/ROW'
   passing xmltype(cursor(select 1 kod, 'bbb' name from dual))
columns 
kod varchar2(100) path 'KOD',
kod2 varchar2(100) path 'kod'
);
...
Рейтинг: 0 / 0
12.02.2013, 16:00
    #38148037
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
alex-lsчто это значит???

Как показал примером guest-04, это значит, что XML различает регистр тегов. Потому исправьте PATH для Ваших столбцов.
...
Рейтинг: 0 / 0
13.02.2013, 04:24
    #38148775
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
Всем спасибо! так и есть :)
...
Рейтинг: 0 / 0
03.07.2013, 10:48
    #38318248
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
а как обработать, если курсор не возвращает строк?
получаю ошибку... ORA-06502... хотелось бы просто получить 0 строк.
...
Рейтинг: 0 / 0
03.07.2013, 11:21
    #38318319
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
пардон, это какой-то мой косяк, from dual пашет....
...
Рейтинг: 0 / 0
03.07.2013, 11:52
    #38318386
alex-ls
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex и ref cursor
Если кому-то будет интересно...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select * from
XMLTABLE(
  '/ROWSET/ROW'
  PASSING XMLTYPE(CURSOR(SELECT dummy m FROM dual where 1=0))
  COLUMNS
    rn NUMBER(10) PATH 'RN'
  ) t
where exists (select * from table(XMLSEQUENCE(CURSOR(SELECT dummy m FROM dual where 1=0))))


так работает, друг помог... XMLSEQUENCE надо добавить было.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex и ref cursor / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]