如何从 Oracle 服务器中的分区 table 获取分区列名
How to get partition column name from partition table in oracle server
我是 oracle 的新手,我想从分区名中获取分区列名。
在 MySQL
:
中工作的相同查询
SELECT PARTITION_EXPRESSION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? limit 1
这个查询会给我分区列名,我想要在 oracle 中得到相同的输出
我的 oracle 创建 table 查询如下所示
CREATE TABLE part_char_date
(emp_no NUMBER(11) , birth_date date , first_name VARCHAR2(100),
last_name VARCHAR2(100) , gender CHAR(1) , hire_date DATE )
PARTITION BY RANGE ( hire_date )
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(PARTITION p0 VALUES LESS THAN (TO_DATE('1-1-2007', 'DD-MM-YYYY')),
PARTITION p1 VALUES LESS THAN (TO_DATE('1-1-2008', 'DD-MM-YYYY')),
PARTITION p2 VALUES LESS THAN (TO_DATE('1-7-2009', 'DD-MM-YYYY')),
PARTITION p3 VALUES LESS THAN (TO_DATE('1-1-2010', 'DD-MM-YYYY')) )
现在我想要获取分区列。
谁帮帮我
如果你指的是分区键列那么
SELECT OWNER, NAME, OBJECT_TYPE, COLUMN_NAME, COLUMN_POSITION FROM ALL_PART_KEY_COLUMNS WHERE NAME = 'PART_CHAR_DATE';
我是 oracle 的新手,我想从分区名中获取分区列名。
在 MySQL
:
SELECT PARTITION_EXPRESSION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? limit 1
这个查询会给我分区列名,我想要在 oracle 中得到相同的输出
我的 oracle 创建 table 查询如下所示
CREATE TABLE part_char_date
(emp_no NUMBER(11) , birth_date date , first_name VARCHAR2(100),
last_name VARCHAR2(100) , gender CHAR(1) , hire_date DATE )
PARTITION BY RANGE ( hire_date )
INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
(PARTITION p0 VALUES LESS THAN (TO_DATE('1-1-2007', 'DD-MM-YYYY')),
PARTITION p1 VALUES LESS THAN (TO_DATE('1-1-2008', 'DD-MM-YYYY')),
PARTITION p2 VALUES LESS THAN (TO_DATE('1-7-2009', 'DD-MM-YYYY')),
PARTITION p3 VALUES LESS THAN (TO_DATE('1-1-2010', 'DD-MM-YYYY')) )
现在我想要获取分区列。 谁帮帮我
如果你指的是分区键列那么
SELECT OWNER, NAME, OBJECT_TYPE, COLUMN_NAME, COLUMN_POSITION FROM ALL_PART_KEY_COLUMNS WHERE NAME = 'PART_CHAR_DATE';