我想把A表中的col1列数据更新为B表中的col1列如何做?注意:col1列为LONG RAW类型。update,insert这些对LONG RAW类型的数据都不能用啊?

解决方案 »

  1.   

    LONG类型可以转换为VARCHAR,然后INSERT
      

  2.   

    能具体点吗?我现在的SQL是:merge into def_process p
    using wfms_process rp
    on (p.defprocessid = rp.defprocessid)
    when matched then
      update set p.data = rp.data
    when not matched then
      insert
        (p.defprocessid,
         
         p.data,
         p.demoflag)
      values
        (rp.defprocessid,
         rp.data,
         rp.demoflag)
    其中data是LONG ROW类型,请问我该怎么做
      

  3.   

    没人回答吗?我再也不相信CSDN啦!
      

  4.   

    long类型存储量能达到2G,而varhcar2最大长(32767),如果不大的long也可以转换的,可以用funcion转换一下:declare 
      -- Local variables here
      vl LONG;
    begin
      -- Test statements here
      
      SELECT col1  -- long 类型
       INTO vl
       FROM test6
       WHERE rownum = 1;
       
      dbms_output.put_line(to_char(vl));
      
    end;
      

  5.   

    兄弟,LONG与LONG RAW是不一样的。LONG RAW存放的是二进制数据,LONG中存放的是字符。要对LONG RAW操作只能通过流的方式。