この例では生命保険の顧客テーブルを履歴パーティションおよび現行パーティションにパーティション化します。このとき、履歴パーティションには期限切れ証券が含まれ、現行パーティションには現行証券が含まれます。
CREATE TABLE customer ( cust_name CHARACTER(8), policy_number INTEGER, policy_expiration_date DATE FORMAT 'YYYY/MM/DD') PRIMARY INDEX (cust_name, policy_number) PARTITION BY CASE_N(policy_expiration_date>=CURRENT_DATE, NO CASE);
customerが2010年4月17日に作成されたとします。
SHOW TABLEリクエストの出力にはユーザー指定パーティション式がDATEとしてANSI形式で表示されます。
SHOW TABLE customer; CREATE SET TABLE MOVEDATE.customer, NO FALLBACK, NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM=DEFAULT ( cust_name CHARACTER(8) CHARACTER SET LATIN NOT CASESPECIFIC, policy_number INTEGER, policy_expiration_date DATE FORMAT 'YYYY/MM/DD') PRIMARY INDEX ( cust_name ,policy_number ) PARTITION BY CASE_N( policy_expiration_date >= DATE, NO CASE);
customerに対するSHOW DMLリクエストの出力にもユーザー指定のパーティション式がDATEとしてANSI形式で表示されます。
SHOW SELECT * FROM customer; CREATE SET TABLE MOVEDATE.customer, NO FALLBACK, NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( cust_name CHARACTER(8) CHARACTER SET LATIN NOT CASESPECIFIC, policy_number INTEGER, policy_expiration_date DATE FORMAT 'YYYY/MM/DD') PRIMARY INDEX ( cust_name ,policy_number ) PARTITION BY CASE_N(policy_expiration_date >= DATE, NO CASE);
customerに対するSHOW QUALIFIED DMLリクエストの出力は、CURRENT_DATEが、解決された日付である2010-04-17(ANSI形式)で置換されたパーティション式を表示します。
SHOW QUALIFIED SELECT * FROM customer; CREATE SET TABLE movedate.customer ,NO FALLBACK, NO BEFORE JOURNAL, NO AFTER JOURNAL, CHECKSUM = DEFAULT ( cust_name CHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC, policy_number INTEGER, policy_expiration_date DATE FORMAT 'YYYY/MM/DD') PRIMARY INDEX ( cust_name ,policy_number ) PARTITION BY CASE_N( policy_expiration_date >= DATE '2010-04-17', NO CASE);