powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / grouping sets и пользовательский тип
7 сообщений из 7, страница 1 из 1
grouping sets и пользовательский тип
    #39507483
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !

Имею пользов-й тип, возвращает table of record (проверено работает давно и корректно)
Пытаюсь осуществить множественную группировку

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
          select 1 KIND
            from (
                  select B.*
                    from Table(ttNbi(To_Date('01-08-2017','DD-MM-YYYY'), 
                                     1,
                                     2
                                    ).Show()
                                   ) B
                 ) C
           group by grouping sets(
                                  (C.PROGRAM,C.TECHNOLOGY),
                                  (C.PROGRAM,C.NETWORK)
                                 )



Ошибка ORA-00932: inconsistent datatypes: expected CHAR got PF_REPORT.RCNBI

Если оставить любую (ОДНУ) группу проблем нет
group by grouping sets(
-- (C.PROGRAM,C.TECHNOLOGY),
(C.PROGRAM,C.NETWORK)
)

Если снести в отдельный with и материализовать dataset - проблема решается.

Подскажите, кто-то встречался с такой ситуацией и какие есть варианты решения

Заранее благодарен !
...
Рейтинг: 0 / 0
grouping sets и пользовательский тип
    #39507498
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Если в grouping sets используются константы вопросов нет
...
Рейтинг: 0 / 0
grouping sets и пользовательский тип
    #39507521
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Покажите планы с материализацией и без.
...
Рейтинг: 0 / 0
grouping sets и пользовательский тип
    #39507585
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Код: plsql
1.
substr
...
Рейтинг: 0 / 0
grouping sets и пользовательский тип
    #39507653
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
env,

Насколько понял хотите сравнить два плана
Но -
с матер-цией могу дать (чуть ПОПИСЖЕ)
без матер-ции не сумею - код дает ошибку
Что сравнивать ?

Спасибо за ответ
...
Рейтинг: 0 / 0
grouping sets и пользовательский тип
    #39507656
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

Извините не понял - где именно substr
Прошу уточнить на коде
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
select 1 F1
  from (
        select Substr(B.NETWORK,1,100) NETWORK
          from Table(PF_REPORT.ttNbi(To_Date('01-08-2017','DD-MM-YYYY'), 
                           1,
                           2
                          ).Show()
                    ) B
       ) A
 group by grouping sets(
                        (1),
                        ('A'),
                        (A.NETWORK)
                       )      



Спасибо
...
Рейтинг: 0 / 0
grouping sets и пользовательский тип
    #39507671
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_Xenv,

Насколько понял хотите сравнить два плана
Но -
с матер-цией могу дать (чуть ПОПИСЖЕ)
без матер-ции не сумею - код дает ошибку
Что сравнивать ?

Спасибо за ответ

Прилагаю
1) Матер-ция
Plan Hash Value : 1549034045

-----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost | Time |
-----------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 58 | 64 | 00:00:01 |
| 1 | TEMP TABLE TRANSFORMATION | | | | | |
| 2 | LOAD AS SELECT | SYS_TEMP_0FD9DC5E3_ECD94A76 | | | | |
| 3 | NESTED LOOPS | | 16360 | 32720 | 41 | 00:00:01 |
| 4 | FAST DUAL | | 1 | | 2 | 00:00:01 |
| 5 | COLLECTION ITERATOR PICKLER FETCH | SHOW | 16360 | 32720 | 39 | 00:00:01 |
| 6 | VIEW | | 1 | 58 | 23 | 00:00:01 |
| 7 | TEMP TABLE TRANSFORMATION | | | | | |
| 8 | LOAD AS SELECT | SYS_TEMP_0FD9DC5E4_ECD94A76 | | | | |
| 9 | TABLE ACCESS FULL | SYS_TEMP_0FD9DC5E3_ECD94A76 | 16360 | 32720 | 3 | 00:00:01 |
| 10 | LOAD AS SELECT | SYS_TEMP_0FD9DC5E5_ECD94A76 | | | | |
| 11 | HASH GROUP BY | | 1 | 2 | 4 | 00:00:01 |
| 12 | TABLE ACCESS FULL | SYS_TEMP_0FD9DC5E4_ECD94A76 | 16360 | 32720 | 3 | 00:00:01 |
| 13 | LOAD AS SELECT | SYS_TEMP_0FD9DC5E5_ECD94A76 | | | | |
| 14 | HASH GROUP BY | | 1 | 2 | 4 | 00:00:01 |
| 15 | TABLE ACCESS FULL | SYS_TEMP_0FD9DC5E4_ECD94A76 | 16360 | 32720 | 3 | 00:00:01 |
| 16 | LOAD AS SELECT | SYS_TEMP_0FD9DC5E5_ECD94A76 | | | | |
| 17 | HASH GROUP BY | | 1 | 2 | 4 | 00:00:01 |
| 18 | TABLE ACCESS FULL | SYS_TEMP_0FD9DC5E4_ECD94A76 | 16360 | 32720 | 3 | 00:00:01 |
| 19 | LOAD AS SELECT | SYS_TEMP_0FD9DC5E5_ECD94A76 | | | | |
| 20 | HASH GROUP BY | | 1 | 2 | 4 | 00:00:01 |
| 21 | TABLE ACCESS FULL | SYS_TEMP_0FD9DC5E4_ECD94A76 | 16360 | 32720 | 3 | 00:00:01 |
| 22 | VIEW | | 1 | 103 | 2 | 00:00:01 |
| * 23 | TABLE ACCESS FULL | SYS_TEMP_0FD9DC5E5_ECD94A76 | 1 | 2 | 2 | 00:00:01 |
-----------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
------------------------------------------
* 23 - filter(BIN_TO_NUM(SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),4),SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),3))=0 OR
BIN_TO_NUM(SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),2),SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),3))=0 OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A1" NOT
LIKE 'CT%' AND BIN_TO_NUM(SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),2),SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),1))=0 OR
("SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='ALLO' OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='AUCHAN' OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='BS Samsung' OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='Citrus' OR
"SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='Comfy' OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='Epicentr' OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='Leroy Merlin' OR "SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='Protoria' OR
"SYS_TEMP_0FD9DC5E5_ECD94A76"."A0"='Rozetka') AND
BIN_TO_NUM(SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),2),SYS_OP_VECBIT(SYS_OP_NUMTORAW("SYS_TEMP_0FD9DC5E5_ECD94A76"."D0"),0))=0)

2) Без таковой
Ошибка ORA-00932. несовм.типы данных, ожидается NUMBER, получено PF_REPORT.RCNBI.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / grouping sets и пользовательский тип
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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