Гость
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить партицию из множества партиций / 9 сообщений из 9, страница 1 из 1
01.02.2022, 10:48
    #40130952
Pasha_pas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Добрый день!

В моей задаче требуется пройтись по нескольким подразделам, то есть :
Select * from table1 PARTITION(partition-name);

Но вместо partition-name есть скрипт на вывод нескольких партиций то есть:
Select partition_name from dba_tab_partitions where …

Пробовал подставить прямо
Select * from table1 PARTITION( Select partition_name from dba_tab_partitions where …);


Oracle выдаёт ошибку, пробовал через in, тоже ошибка
Подскажите пожалуйста, что можно сделать в данном случае
Вручную проставлять номер партиции нет возможности
...
Рейтинг: 0 / 0
01.02.2022, 11:21
    #40130957
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Pasha_pas,

в чем выполняете скрипт?

ps
в плюсе есть макро (&list_partition)

.....
stax
...
Рейтинг: 0 / 0
01.02.2022, 11:29
    #40130959
Pasha_pas
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Stax,
В идеале скрипт выполняем через informatica powercenter
А через pl sql developer проверяем
...
Рейтинг: 0 / 0
01.02.2022, 12:05
    #40130972
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Pasha_pas,

как вариант, есть другая возможность: партиции же созданы по какому-то полю/полям, следовательно в плане получения аналогичного набора строк можно заменить PARTITION (...) на WHERE поля_по_которым_была_создана_партиция
...
Рейтинг: 0 / 0
01.02.2022, 14:24
    #40131011
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
P.S.
http://www.juliandyke.com/Optimisation/Operations/PartitionRangeInlist.php

Код: 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.
Example

This example was developed using Oracle 9.2.0.1 on Windows 2000

This example requires the following table definition

CREATE TABLE t1 (c1 NUMBER,c2 NUMBER)
PARTITION BY RANGE (c1)
(
  PARTITION p1 VALUES LESS THAN (10),
  PARTITION p2 VALUES LESS THAN (20),
  PARTITION p3 VALUES LESS THAN (30),
  PARTITION p4 VALUES LESS THAN (40)
);

The table does not need to be analysed

The statement

SELECT c1 FROM t1
WHERE c1 IN (10,20);

generates the following execution plan

0     SELECT STATEMENT Optimizer=CHOOSE
1   0   PARTITION RANGE (INLIST)
2   1     TABLE ACCESS (FULL) OF 'T1'
...
Рейтинг: 0 / 0
01.02.2022, 14:54
    #40131020
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Кроик Семён

==>WHERE c1 IN (10,20);


Pasha_pas-е IN надо сформировать программно


.....
stax
...
Рейтинг: 0 / 0
01.02.2022, 14:58
    #40131025
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Pasha_pas,

не знаю возможностей informatica powercenter

если версия оракля позволяет, можно заюзать sql macros


.....
stax
...
Рейтинг: 0 / 0
02.02.2022, 11:52
    #40131205
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Pasha_pas,

1. А точно нужны именно наименования разделов (за которыми надо лазить в словарь)?
partition_extended_name
2. Если цель - именно select *, то что мешает оформить pipelined, принимающую на вход список/курсор с идентификаторами или ключами разделов и в цикле гоняющую execute immediate?
...
Рейтинг: 0 / 0
02.02.2022, 23:33
    #40131383
Правильный Вася
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить партицию из множества партиций
Уж не знаю, по какому принципу у ТС секционирование и какая версия Оракла, но если секционирование HASH или SYSTEM, то вообще без вариантов.
С остальными возможны танцы с бубнами, но при композитном тоже северное сияние будет.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить партицию из множества партиций / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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