insert into B select nn,mm from A;但clob型是否可行?

解决方案 »

  1.   

    我试过了,但是系统显示“非法使用long数据类型”
      

  2.   

    还是用游标可行,是这样的。declare
    cursor t_sor is
    select nn,mm from A;
    begin
    for v_sor in t_sor loop 
    insert into b values(empty_clop(),v_sor.mm);
    update b set nn=v_sor.nn where mm=v_sor.mm;
    .....
    end loop
    end;
      

  3.   

    楼上兄弟意思讲得不是很清楚,我不知道意思是不是想从A表查出A.nn,A.mm的值插入到B表中对应的B.nn,B,mm,如果是这样,对这种问题的处理是第一步是
    先将A.mm插入B.mm,第二步就是将A.nn的值采用Blob字段写操作(修改操作)对B.nn,这样就可以了,可以参考oracle help 文档
      

  4.   

    create table b(nn,mm) as select nn,mm from a;
    alter table b modify (nn clob);
      

  5.   

    to:chenguoli(bluestar)
    能不能把第二步具体一点!
      

  6.   

    to:ronny5(兔子林)
    第一步就会提示非法使用long字段
      

  7.   

    insert into B select to_lob(nn), mm from A;
      

  8.   

    暂时替你想了个办法,先把表a 导出来(exp)
    然后 
     rename a to b;
     alter table b modify(nn clob);
    最后再把表a导进去(imp)
      

  9.   

    rebegin2002(忘了)的办法好像可以,我正在运行。运行完再看一看!
    还有一个问题!如果在创建的时候不把long类型改为clob,而是还保持long类型,那该怎么办啊?会报非法使用long字段类型的!
      

  10.   

    rebegin2002(忘了)的方法经过测试,虽然可行,但是平均插入一条记录要十几秒,而我们的数据库内有十几万的纪录。
    有没有其他方法阿?