Tema ini menjelaskan cara membuat tabel terpartisi LIST.
Sintaksis
Pernyataan berikut digunakan untuk membuat satu atau lebih tabel terpartisi LIST. Partisi LIST didasarkan pada nilai yang dienumerasi. Oleh karena itu, Anda harus mengeenumerasi nilai dari kunci partisi untuk setiap partisi. Nilai yang dienumerasi harus unik. Partisi LIST mendukung tipe data ekstensi LIST COLUMNS.
CREATE TABLE ... PARTITION BY LIST {(expr) COLUMNS(column_list)}
(Definisi_partisi [, definisi_partisi] ...);definisi_partisi adalah:PARTITION nama_partisi
VALUES IN (daftar_nilai)Parameter
| Parameter | Deskripsi |
| expr | Ekspresi partisi. Harus bertipe INT. Tipe string tidak didukung. |
| column_list | Daftar kolom kunci partisi. Digunakan dalam LIST COLUMNS(). Ekspresi tidak didukung. |
| value_list | Nilai batas partisi. |
| partition_name | Nama partisi. Nama tersebut harus unik dalam tabel. |
Deskripsi
LIST mendukung ekspresi. Data hasil dari ekspresi LIST harus bertipe INT.
LIST hanya mendukung kunci partisi kolom tunggal.
LIST COLUMNS tidak mendukung ekspresi, tetapi mendukung kolom.
LIST COLUMNS mendukung kunci partisi multi-kolom. LIST COLUMNS mendukung kunci partisi dengan tipe data berikut: INT, tipe string, DATE, dan DATETIME.
Contoh
Buat tabel terpartisi LIST:
CREATE TABLE sales_list
(
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT
)
PARTITION BY LIST (amount)
(
PARTITION p0 VALUES in (1, 2),
PARTITION p1 VALUES in (3, 4),
PARTITION p2 VALUES in (5, 6)
);Buat tabel terpartisi LIST COLUMNS:
CREATE TABLE sales_list_columns
(
dept_no INT,
part_no INT,
country varchar(20),
date DATE,
amount INT
)
PARTITION BY LIST COLUMNS(country)
(
PARTITION europe VALUES in ('FRANCE', 'ITALY'),
PARTITION asia VALUES in ('INDIA', 'PAKISTAN'),
PARTITION americas VALUES in ('US', 'CANADA')
);