Oracle中有没有这样的功能:
例如:
table_a:
col_1,col_2
'col_a',11111
'col_b',22222
||
\/
table_b: 
col_a,col_b
11111,22222即,将table_a表中的col_1列的数据是table_b表的列名,并将table_a表中的col_2字段的数据填到table_b表中对应的字段。

解决方案 »

  1.   

    呵呵。这家伙,总提一些稀奇古怪的想法
    只想到了动态sql拼接,别的不知道
      

  2.   

    to Robin_Ares:
    过奖过奖,对Oracle不熟悉,但是我认为Oracle很强大,所以,我总认为,我能想到的东西可能Oracle已经实现了!
    本帖子的问题类似Excel的数据透视功能。因为table_a的数据表非常大,有可能上千万条数据,用动态SQL来转,我真担心效率问题。
      

  3.   

    补充以下,实际中是有一个时间字段的。
    table_a: 
    date,col_1,col_2 
    d1,'col_a',11111 
    d1,'col_b',22222 
    d2,'col_a',33333
    d2,'col_b',44444
    ¦ ¦ 
    \/ 
    table_b: 
    date,col_a,col_b 
    d1,11111,22222 
    d2,33333,44444
      

  4.   

    table_a有上千万的数据,是不是table_b就有上千万的字段
      

  5.   

    insert into table_b 
         select dt,
                decode(col_1,'col_a',col_2) col_a,
                decode(col_1,'col_b',col_2) col_b 
         from table_a
      

  6.   

    关键是你的'col_a'、'col_b'是不是固定的如果是固定的就可以用6楼的方法。
      

  7.   

    确定字段的话倒是6楼的方法是可行的如果字段多就一直decode条件判断就行了