现有表1和表2,表1里面有一个字段A,字段A的取值范围是(1,2,3),表2里面也有一个字段A。现在要把表1里面的内容copy到表2当中,并且表1字段A的值为‘1’的copy到表2后变为‘你’,‘2’为‘我’,‘3’为‘他’。

解决方案 »

  1.   

    insert 表2 (A) (select decode(1,'你',2,'我',3,'他','') from 表1)
      

  2.   

    --也可以用case函数的
    INSERT 表2(A)
      SELECT (CASE 
               WHEN a=1 THEN '你'
               WHEN a=2 THEN '我'
               WHEN a=3 THEN '他'
               ELSE
                ''
             END)
        FROM 表1;
      

  3.   

    --构造一个字典表取得数据
    INSERT INTO 表2(a)
      SELECT b.str
        FROM 表1 t,
             (SELECT LEVEL id, substrb('你我他', LEVEL * 2 - 1, 2) str 
                FROM dual CONNECT BY LEVEL <= 3) b
       WHERE t.a = b.id;