请问怎么写Oralce的SQL语句得到所有分区表的分区键信息,比如某表的分区是按哪个列分的,其子分区又是按哪个列分的?
解决方案 »
- ?请问orale的policy之间的连接只能是AND么?想用OR连接怎么设置?
- 特殊问题:如何记录第一次出现?
- PLSQL如何获取更新件数
- 刚刚遇到的奇怪问题,高手帮忙下,急啊
- 关于恢复SQL SERVER的数据库到ORACLE里的问题,请高手指教!!!!!!!
- 高分求解,第一次用存储过程中出现的一个简单错误?
- 请高手帮我看一下这段程序错在哪里,在线等待,谢谢!!
- 在表分区中,按某个varchar2的字段的值和范围如何分呢
- 帮帮忙,我都弄了一天了!现在还没吃饭!ODBC的问题!
- oracle9.1连接问题(急!各位大虾帮帮忙)
- 求一oracle正则表达式
- oracle以sysdba身份imp导入时的疑问
SELECT p.table_name AS 表名,
decode(p.partitioning_key_count, 1, '主分区') AS 分区类型,
p.partitioning_type AS 分区类型,
p.column_name AS 分区键,
decode(nvl(q.subpartitioning_key_count, 0),
0,
'无子分区',
1,
'子分区') AS 有无子分区,
q.subpartitioning_type AS 子分区类型,
q.column_name AS 子分区键
FROM (SELECT a.table_name,
a.partitioning_type,
b.column_name,
a.partitioning_key_count
FROM user_part_tables a, user_part_key_columns b
WHERE a.table_name = b.NAME
AND b.object_type = 'TABLE') p,
(SELECT a.table_name,
a.subpartitioning_type,
b.column_name,
a.subpartitioning_key_count
FROM user_part_tables a, user_subpart_key_columns b
WHERE a.table_name = b.NAME
AND a.subpartitioning_key_count <> 0
AND b.object_type = 'TABLE') q
WHERE p.table_name = q.table_name(+)
ORDER BY 5, 4, 1;
decode(p.partitioning_key_count, 1, '主分区') AS 分区类型,
p.partitioning_type AS 分区类型,
p.column_name AS 分区键,
decode(nvl(q.subpartitioning_key_count, 0),
0,
'无子分区',
1,
'子分区') AS 有无子分区,
q.subpartitioning_type AS 子分区类型,
q.column_name AS 子分区键
FROM (SELECT a.table_name,
a.partitioning_type,
b.column_name,
a.partitioning_key_count
FROM user_part_tables a, user_part_key_columns b
WHERE a.table_name = b.NAME
AND b.object_type = 'TABLE') p,
(SELECT a.table_name,
a.subpartitioning_type,
b.column_name,
a.subpartitioning_key_count
FROM user_part_tables a, user_subpart_key_columns b
WHERE a.table_name = b.NAME
AND a.subpartitioning_key_count <> 0
AND b.object_type = 'TABLE') q
WHERE p.table_name = q.table_name(+)
ORDER BY 5, 4, 1;