在表分区上执行查询,如下:select * from range_example partition(part01);如果range_example 表每天一个分区,名称格式为:part_20130801、part_20130802.....,上面的语句是否可以动态指定分区的名称,即每次执行语句的时候查询当天的分区数据?表分区查询

解决方案 »

  1.   

    用一个sql没写出来,能每天查询当天分区的数据来
      

  2.   


    就是拼接一个表名嘛
    比如part_20130801可以这样拼啊:'part_'||to_char(sysdate,'yyyymmdd')
    表名有了不就可以写动态sql了么
      

  3.   


    就是拼接一个表名嘛
    比如part_20130801可以这样拼啊:'part_'||to_char(sysdate,'yyyymmdd')
    表名有了不就可以写动态sql了么selecet * from table partition('part_'||to_char(sysdate,'yyyymmdd')
    )这样貌似不行
      

  4.   


    就是拼接一个表名嘛
    比如part_20130801可以这样拼啊:'part_'||to_char(sysdate,'yyyymmdd')
    表名有了不就可以写动态sql了么selecet * from table partition('part_'||to_char(sysdate,'yyyymmdd')
    )这样貌似不行
    这样肯定不行了,动态sql不是这样的,动态sql把sql看成一个字符串。execute immediate 'selecet * from table partition(part_'||to_char(sysdate,'yyyymmdd')||'
    )'