我想建立一个package bodies实现这样一个功能---建立一个临时表,这个临时表的字段是由一个select语句中的into字段组成组成,select 字段1,字段2,字段3...(字段个数不确定) into 字段1,字段2,字段3...from 表1,表2,表3,表4...(表的个数也不确定) where 条件1,条件2,条件3...(条件个数也不确定) ... ...  高手们```帮忙啊```

解决方案 »

  1.   

    如果是在package bodies中实现```那么在package bodies中程序的入口怎么输入这么多将会用到的不确定的表名、字段名呢?````
      

  2.   

    楼主的要求从理论上来说无法完成
    1.太多的不确定性.所有的程序的编写是需要一定的框架和限制,如此多的不确定性导致程序基本无法实现,即使能实现也是非常麻烦和不实用
    2.你的要求中还有不明确的地方 比如新增的临时表的栏位的数据类型和大小如何确定?
    3.表的建立一般是一次性的完全没有必要在过程或包中建立,
      如果你设想一个临时表在程序开始的时候先被DROP,然后再建立,这个你首先要保证每个临时表的名称是不一样的(不然并发使用就会出错),其次这很浪费资源和影响速度.
      

  3.   


     新增的临时表的栏位的数据类型和大小如何确定只要能够实现:在package bodies中程序的入口怎么输入这么多将会用到的不确定的表名、字段名  我是能够实现的````如果不在过程或包中建立   有什么别的方法么?只要能够实现这样的功能就可以了``
      

  4.   

    icedut(冰) ( ) 信誉:100    Blog  2006-12-27 16:13:37  得分: 0  
     
     
       --
    入口用个索引表
    索引表的记录是字段的结构(字段名,类型,长度)
    这样是否可行--
    我们曾经作了一阵 
    根据入口参数(索引表的记录)构造建表的sql语句
    后来发现也不太实用
    构造索引表的记录也挺麻烦的
    就放弃了---
    其实真是没什么必要的  
     
      

  5.   

    oracle的临时表跟sql server的有点不一样,oracle的临时表结构其实跟普通表没什么区别,必须要先建立,不同的是,每个session查的数据是不一样的。而普通表数据都是一样的。