powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SELECT FROM SUBPARTITION
11 сообщений из 11, страница 1 из 1
SELECT FROM SUBPARTITION
    #39559426
SUBPART
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Изучаю партиции Оракл. Нигде не могу найти информацию по выборке из субпартиций. Например, есть составное секционирование, где партиция - год, а сабпартиция - месяц. Могу я выбрать сразу из субпартиции? Или надо указывать партицию, а в условиях запроса конкретизировать месяц? Ткните в пример с выборкой из субпартиций. Буду весьма признателен. Гугл не находит, чувствую - где-то подвох....
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559433
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from table_name partition (partition_name)
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559445
SUBPART
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DВА, ну это из партиций, а из сабпартиций?
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559453
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну subpartition (subpartition_name) значит
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559455
Bobby Z.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SUBPARTDВА, ну это из партиций, а из сабпартиций?Ну RTFM же...
FROM SUBPARTITION (subpart_name) или FROM SUBPARTITION FOR (subpart_key_value).
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559456
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SUBPARTDВА, ну это из партиций, а из сабпартиций?

<PARTITION_NAME>_<SUBPARTITION_NAME>:

Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
SQL> CREATE TABLE SUBPART_TEST(
  2                            ID NUMBER,
  3                            DT DATE
  4                           )
  5    PARTITION BY RANGE (ID) 
  6      INTERVAL(1) 
  7        SUBPARTITION BY RANGE(DT)
  8        SUBPARTITION TEMPLATE(
  9                              SUBPARTITION SUBPART_BEFORE_2016 VALUES LESS THAN(DATE '2016-01-01'),
 10                              SUBPARTITION SUBPART_2016 VALUES LESS THAN(DATE '2017-01-01'),
 11                              SUBPARTITION SUBPART_2017 VALUES LESS THAN(DATE '2018-01-01'),
 12                              SUBPARTITION SUBPART_AFTER_2017 VALUES LESS THAN(MAXVALUE)
 13                             )
 14        (
 15         PARTITION PART_1 VALUES LESS THAN (2)
 16        )
 17  /

Table created.

SQL> INSERT
  2    INTO SUBPART_TEST
  3    VALUES(
  4           1,
  5           DATE '2016-10-1'
  6          )
  7  /

1 row created.

SQL> INSERT
  2    INTO SUBPART_TEST
  3    VALUES(
  4           1,
  5           SYSDATE
  6          )
  7  /

1 row created.

SQL> SELECT  *
  2    FROM  SUBPART_TEST SUBPARTITION(PART_1_SUBPART_2017)
  3  /

        ID DT
---------- ---------
         1 25-NOV-17

SQL> 



SY.
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559460
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bobby Z.SUBPARTITION FOR (subpart_key_value).

Код: plsql
1.
SUBPARTITION FOR (part_key_value,subpart_key_value)



SY.
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559477
SUBPART
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SYBobby Z.SUBPARTITION FOR (subpart_key_value).

Код: plsql
1.
SUBPARTITION FOR (part_key_value,subpart_key_value)



SY.

Спасибо. Начинает прояснятся ))
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559528
Bobby Z.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYBobby Z.SUBPARTITION FOR (subpart_key_value).

Код: plsql
1.
SUBPARTITION FOR (part_key_value,subpart_key_value)



SY.В официальной документации:
Oracle SQL Reference 11.1+partition_extension_clause ::=
{ PARTITION (partition)
| PARTITION FOR (partition_key_value [, partition_key_value]...)
| SUBPARTITION (subpartition)
| SUBPARTITION FOR (subpartition_key_value [, subpartition_key_value]...)
}
Так что корректнее было бы разъяснить, что subpart_key_value ::= part_key_value,subpart_column[,subpart_column]... На случай, если это не очевидно.
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559752
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYSUBPARTDВА, ну это из партиций, а из сабпартиций?

<PARTITION_NAME>_<SUBPARTITION_NAME>:

Код: 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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
SQL> CREATE TABLE SUBPART_TEST(
  2                            ID NUMBER,
  3                            DT DATE
  4                           )
  5    PARTITION BY RANGE (ID) 
  6      INTERVAL(1) 
  7        SUBPARTITION BY RANGE(DT)
  8        SUBPARTITION TEMPLATE(
  9                              SUBPARTITION SUBPART_BEFORE_2016 VALUES LESS THAN(DATE '2016-01-01'),
 10                              SUBPARTITION SUBPART_2016 VALUES LESS THAN(DATE '2017-01-01'),
 11                              SUBPARTITION SUBPART_2017 VALUES LESS THAN(DATE '2018-01-01'),
 12                              SUBPARTITION SUBPART_AFTER_2017 VALUES LESS THAN(MAXVALUE)
 13                             )
 14        (
 15         PARTITION PART_1 VALUES LESS THAN (2)
 16        )
 17  /

Table created.

SQL> INSERT
  2    INTO SUBPART_TEST
  3    VALUES(
  4           1,
  5           DATE '2016-10-1'
  6          )
  7  /

1 row created.

SQL> INSERT
  2    INTO SUBPART_TEST
  3    VALUES(
  4           1,
  5           SYSDATE
  6          )
  7  /

1 row created.

SQL> SELECT  *
  2    FROM  SUBPART_TEST SUBPARTITION(PART_1_SUBPART_2017)
  3  /

        ID DT
---------- ---------
         1 25-NOV-17

SQL> 



SY.Акуратнее надо быть с таким примером
Код: 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.
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.
54.
55.
56.
57.
58.
59.
60.
tst> ed
Wrote file afiedt.buf

  1  CREATE TABLE SUBPART_TEST(
  2                            ID NUMBER,
  3                            DT DATE
  4                           )
  5    PARTITION BY RANGE (ID)
  6      INTERVAL(1)
  7        SUBPARTITION BY RANGE(DT)
  8        SUBPARTITION TEMPLATE(
  9                              SUBPARTITION SUBPART_BEFORE_2016 VALUES LESS THAN(DATE '2016-01-01'),
 10                              SUBPARTITION SUBPART_2016 VALUES LESS THAN(DATE '2017-01-01'),
 11                              SUBPARTITION SUBPART_2017 VALUES LESS THAN(DATE '2018-01-01'),
 12                              SUBPARTITION SUBPART_AFTER_2017 VALUES LESS THAN(MAXVALUE)
 13                             )
 14        (
 15         PARTITION PART_1 VALUES LESS THAN (2)
 16*       )
tst> /

Table created.

tst> ed
Wrote file afiedt.buf

  1  INSERT
  2    INTO SUBPART_TEST
  3     VALUES(
  4           1,
  5           DATE '2016-10-1'
  6*         )
tst> /

1 row created.

tst> INSERT
  2    INTO SUBPART_TEST
  3     VALUES(
  4           3,
  5           SYSDATE
  6          )
  7  /

1 row created.

tst> select partition_name, subpartition_name from user_tab_subpartitions;

PARTITION_NAME                 SUBPARTITION_NAME
------------------------------ ------------------------------
PART_1                         PART_1_SUBPART_BEFORE_2016
PART_1                         PART_1_SUBPART_AFTER_2017
PART_1                         PART_1_SUBPART_2017
PART_1                         PART_1_SUBPART_2016
SYS_P273                       SYS_SUBP272
SYS_P273                       SYS_SUBP271
SYS_P273                       SYS_SUBP270
SYS_P273                       SYS_SUBP269

8 rows selected.
...
Рейтинг: 0 / 0
SELECT FROM SUBPARTITION
    #39559764
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав ЛюбомудровАкуратнее надо быть с таким примером

Вячеслав, a в чем неаккуратность? В том что для INTERVAL имeна partition/subpartitions системно-генерируемые? Так это уже другая песня .

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


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