powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить партицию из множества партиций
9 сообщений из 9, страница 1 из 1
Получить партицию из множества партиций
    #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
Получить партицию из множества партиций
    #40130957
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pasha_pas,

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

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

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

как вариант, есть другая возможность: партиции же созданы по какому-то полю/полям, следовательно в плане получения аналогичного набора строк можно заменить PARTITION (...) на WHERE поля_по_которым_была_создана_партиция
...
Рейтинг: 0 / 0
Получить партицию из множества партиций
    #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
Получить партицию из множества партиций
    #40131020
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик Семён

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


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


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

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

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


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

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


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