Как я могу написать запрос для секционированных таблиц SQL? - PullRequest
0 голосов
/ 24 февраля 2012

Вот мой запрос Создать таблицу и раздел: Как я могу вставить данные в мои таблицы с разделами?И Как я могу сделать оператор выбора, который отображает ROWID, ID, TITLE, PUBID и PUBDATE для всех строк данных в моей созданной мной таблице lab6_zl.

create table lab6_zl (
ID number not null, 
TITLE varchar2(40), 
PUBID char(3), 
PUBDATE date,
constraint lab6_pk primary key(ID))
Partition by range (pubdate)
(
Partition p1 values less than (to_date('01-JAN-2000','DD-MON-YYYY')),
Partition p2 values less than (to_date('01-JAN-2010','DD-MON-YYYY')),
Partition p3 values less than (MAXVALUE)
)

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Вы можете использовать его как простую таблицу при выборе, вставке, обновлении и удалении. В большинстве случаев вам просто нужно позаботиться об одном, добавить как можно больше условия раздела (в данном случае «PUBDATE»), иначе это будет стоить больше, чем обычная таблица.

0 голосов
/ 24 февраля 2012

Вы вставляете и выбираете данные точно так же, как и для однораздельной таблицы

INSERT INTO lab6_z1( id, title, pubid, pubdate )
  VALUES( 1, 'Something', 'FOO', sysdate );

SELECT rowid,
       id,
       title,
       pubid,
       pubdat
  FROM lab6_z1;
...