Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SELECT FROM SUBPARTITION / 11 сообщений из 11, страница 1 из 1
25.11.2017, 16:19
    #39559426
SUBPART
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
Всем привет! Изучаю партиции Оракл. Нигде не могу найти информацию по выборке из субпартиций. Например, есть составное секционирование, где партиция - год, а сабпартиция - месяц. Могу я выбрать сразу из субпартиции? Или надо указывать партицию, а в условиях запроса конкретизировать месяц? Ткните в пример с выборкой из субпартиций. Буду весьма признателен. Гугл не находит, чувствую - где-то подвох....
...
Рейтинг: 0 / 0
25.11.2017, 16:37
    #39559433
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
select * from table_name partition (partition_name)
...
Рейтинг: 0 / 0
25.11.2017, 17:27
    #39559445
SUBPART
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
DВА, ну это из партиций, а из сабпартиций?
...
Рейтинг: 0 / 0
25.11.2017, 17:55
    #39559453
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
ну subpartition (subpartition_name) значит
...
Рейтинг: 0 / 0
25.11.2017, 18:00
    #39559455
Bobby Z.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
SUBPARTDВА, ну это из партиций, а из сабпартиций?Ну RTFM же...
FROM SUBPARTITION (subpart_name) или FROM SUBPARTITION FOR (subpart_key_value).
...
Рейтинг: 0 / 0
25.11.2017, 18:05
    #39559456
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
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
25.11.2017, 18:25
    #39559460
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
Bobby Z.SUBPARTITION FOR (subpart_key_value).

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



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

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



SY.

Спасибо. Начинает прояснятся ))
...
Рейтинг: 0 / 0
25.11.2017, 22:30
    #39559528
Bobby Z.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
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
27.11.2017, 03:12
    #39559752
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
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
27.11.2017, 05:35
    #39559764
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SELECT FROM SUBPARTITION
Вячеслав ЛюбомудровАкуратнее надо быть с таким примером

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

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


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