ALTER TABLE orders SET PARTITIONING AUTOMATIC;
DROP TABLE orders PURGE;
CREATE TABLE orders
(
id NUMBER,
country_code VARCHAR2(5),
customer_id NUMBER,
order_date DATE,
order_total NUMBER(8,2),
CONSTRAINT orders_pk PRIMARY KEY (id)
)
PARTITION BY LIST (country_code)
AUTOMATIC
(
PARTITION part_usa VALUES ('USA'),
PARTITION part_uk_and_ireland VALUES ('GBR', 'IRL')
);
INSERT INTO orders VALUES (1, 'USA', 10, SYSDATE, 10200.93);
INSERT INTO orders VALUES (2, 'USA', 11, SYSDATE, 948.22);
INSERT INTO orders VALUES (3, 'GBR', 22, SYSDATE, 300.83);
INSERT INTO orders VALUES (4, 'IRL', 43, SYSDATE, 978.43);
COMMIT;
INSERT INTO orders VALUES (5, 'BGR', 96, SYSDATE, 2178.43);
1 row created.
SQL>
EXEC DBMS_STATS.gather_table_stats(USER, 'orders', cascade => TRUE);
SET LINESIZE 100
COLUMN table_name FORMAT A30
COLUMN partition_name FORMAT A30
COLUMN high_value FORMAT A15
SELECT table_name,
partition_name,
high_value,
num_rows
FROM user_tab_partitions
ORDER BY 1, 2;
TABLE_NAME PARTITION_NAME HIGH_VALUE NUM_ROWS
------------------------------ ------------------------------ --------------- ----------
ORDERS PART_UK_AND_IRELAND 'GBR', 'IRL' 2
ORDERS PART_USA 'USA' 2
ORDERS SYS_P549 'BGR' 1
SQL>
COLUMN table_name FORMAT A30
COLUMN autolist FORMAT A8
SELECT table_name,
autolist
FROM user_part_tables;
TABLE_NAME AUTOLIST
------------------------------ --------
ORDERS YES
SQL>