oracle服务器中如何从分区表中获取分区列名

问题描述 投票:0回答:1

我是oracle新手,我想从分区名称中获取分区列名称。 相同的查询在

MySQL
:

中工作
SELECT PARTITION_EXPRESSION FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? limit 1 

此查询将为我提供分区列名称,与我在 Oracle 中想要的输出相同

我的oracle创建表查询是这样的

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')) )

现在我想要得到分区列。 任何人都可以帮助我

sql oracle partition
1个回答
9
投票

如果您指的是分区键列

SELECT
    OWNER,
    NAME,
    OBJECT_TYPE,
    COLUMN_NAME,
    COLUMN_POSITION
FROM
    ALL_PART_KEY_COLUMNS
WHERE
    NAME = 'PART_CHAR_DATE';
© www.soinside.com 2019 - 2024. All rights reserved.