不能在SQL*Plus中将LONG类型列的值插入到另一个表
insert into table 
select * from other_table

解决方案 »

  1.   

    就是LONG类型不可以吗??为什么其他大对象类型可以啊,这点不可理解!按理LONG还没那几个大呢!
      

  2.   

    Long 只能在 Select 的子句里~
      

  3.   

    INSERT INTO T2 VALUES(。)里面随便给LONG一个值就可以!为什么我最上面的语句就不可以呢??那我要怎么解决我的问题呢??两张表的复制就不可以吗??请大伙帮帮忙吧!
      

  4.   

    select .... 裡面不能有long的字段
      

  5.   

    DROP TABLE long_tab;CREATE TABLE long_tab (
      key NUMBER,
      long_col LONG
    );INSERT INTO long_tab (key, long_col)
      VALUES (100,
    'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWZYZ');COMMIT;SET SERVEROUTPUT on
    DECLARE
      v_Query VARCHAR2(200);
      v_NewLOB CLOB;
    BEGIN
      v_Query := 'SELECT long_col FROM long_tab where key = 100';
      INSERT INTO lobdemo (key, clob_col)
        VALUES (100, EMPTY_CLOB())
        RETURNING clob_col INTO v_NewLOB;  Long2Lob(v_Query, v_NewLOB);
      LOBPrint(v_NewLOB);
      COMMIT;
    END;
    /
      

  6.   

    我明白了,你的意思是取出来先放到变量里面,再望别的表里面插??那还有一个问题,如果源表中有LONG字段,那我怎么建立和这张表结构一样的表呢??(程序实现)因为CREATE TABLE T1 AS SELECT * FROM T2 WHERE 1=2;会报错:非法使用LONG数据类型