需求:现有一张 一亿数据行的表,根据动态拼接的条件,查询数据放入中间表,在之后的循环中 对这个中间表进行查询。问题1:动态拼接出来的sql 怎么建立中间表, execute immedate 'xx'?
问题2:查询出来的数据 直接用 with as xx 这种形式能否实现,还是需要create table xx as 建立中间表?;,
很多不懂的希望多多指教!

解决方案 »

  1.   

    大数据量的临时表采用的建立临时表如果WITH AS短语所定义的表名被调用两次以上,则优化器会自动将WITH AS短语所获取的数据放入一个TEMP表里,如果只是被调用一次,则不会同时临时表可以有全局性和会话的,更加灵活
      

  2.   

    嗯,也就是说如果我接下来的 循环中有多次使用这个 中间结果集,优化器会自动将之前结果放入tmep,我现应该是在 循环外面 将拼接的sql  ,create table 放入到临时表,之后的循环对临时表进行操作 ?