可以把long raw转换成lob类型

解决方案 »

  1.   

    create table bbb as select * from a;就是这语句啊,创建BBB并复制数据从而复制了表。
    而表A因为有一个字段的类型是LONG RAW ,所以这语句执行失败并报上述错误
      

  2.   

    BLOB放图片也是没有问题?!()我这库是从SQL SERVER 里导过来的,该字段原在SQL SERVER 内的
    数据类型是IMAGE。导入后成为LONG ROW,以后我的程序中通过该字段存取图片,方式还和以前一样?
      

  3.   

    LONG ROW 不能出现在select 语句中,只能用过程实现插入工作,建义还是使用blob.
    一、
    create table bbb as select * from a;--非blob字段
    二、
    declare
       a_blob  BLOB;
       a_bfile BFILE := BFILENAME('UTLLOBDIR','test.jpg'); 
    begin
       insert into bfile_tab values (a_bfile)
         returning bfile_column into a_bfile;
       insert into utl_lob_test values (empty_blob())
         returning blob_column into a_blob;
       dbms_lob.fileopen(a_bfile);
       dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));
       dbms_lob.fileclose(a_bfile);
       commit;
    end;
    /