oracle中如何通过ROWID查找分区?

How to find the partition by ROWID in oracle?

我在回历月(日期)为 table(测试)创建了分区, oracle中如何通过ROWID匹配特定分区?

试试这个:

SELECT dbms_rowid.rowid_object(ROWID) data_object_id
FROM test;

要获取您可以使用的分区名称

SELECT partition_name 
from user_tab_partitions
where table_name='test'
select object_name tab_name, subobject_name parttition   from user_objects where object_id =dbms_rowid.rowid_object('xxxxx');

非常简单,使用 DBMS_RowID 和 dba_objects。

select *
from   dba_objects
where  data_object_id = dbms_rowid.rowid_object(ROWID_OF_THE_ROW)

这里有更多提示和观察:https://oraclesponge.wordpress.com/2006/05/11/getting-the-subpartition-name-for-a-row/