create table tableA ( STATIS_DAYVARCHAR2(8))
partition by list (STATIS_DAY)
(
partition PART_20110522 values ('20110522');
partition PART_20110522 values ('20110523');
partition PART_20110522 values ('20110524')
)
那么 你在写sql的时候
直接 select * from tableA where STATIS_DAY between '20110524' and '20110523' 就是查询多个分区了啊!
首先你要理解分区的意义;
select *from tableA partition(PART_20110522 )就是单独查询这个分区。不过其实跟
select * from tableA where STATIS_DAY ='20110522' 是一个样子的~~~
分区表的相关资料:http://blog.csdn.net/xieyuooo/article/details/5437126
可以 ,方法多:1.看表结构 ,用dbms_metadata.get_ddl得到分区表的建表语句,自然就可以看到你想看的分区
set long 99999999
select dbms_metadata.get_ddl('TABLE','table_name','owner') from dual
table_name换成分区表的名字,要大写,owner换成分区表的属主,也要大写
2.查字典dba_part_tables,dba_tab_partitions等等
如果查询当前用户下得分区表:select * from user_tables where partitioned='YES'
如果要查询整个数据库中的分区表:
select * from dba_tables where partitioned='YES'
如果要查询某个用户下得分区表:
select * from dba_tables where partitioned='YES' and owner='ABCDEFG'
其中ABCDEFG为用户名
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)