先增加一个long字段,然后把varchar2字段拷贝过去,再删除这个varchar2字段

解决方案 »

  1.   

    你好 怎么拷贝字段?
    我用以下代码,结果把原字段的最后一行的内容全部填充到新字段的每一行里了
    ------------------------------------
    DECLARE
            v_Content       VARCHAR2(3000);        CURSOR c_content IS
            SELECT content
            FROM table;
    BEGIN
            OPEN c_content;
            LOOP           FETCH c_content INTO v_Content;        UPDATE table set content2 = v_Content;        EXIT WHEN c_content%NOTFOUND;        END LOOP;        CLOSE c_content;
            COMMIT;
    END;
    /
      

  2.   

    你也可以把数据导出来,导成CSV文件,然后再修改表结构,修改完之后,再把数据导回来.
      

  3.   

    呵呵  update table set content2 = content;
    swallow_1981() 你说的详细点怎么做?
      

  4.   

    才发现 update table set content2 = content 在varchar2 - >long 才可以 ,long 付给 varchar2不可以
      

  5.   

    执行一个语句就可以
    update table set content2=content;
    或者将你的过程改为: 
    DECLARE
            v_Content       VARCHAR2(3000);
            v_id            varchar2(10);
            CURSOR c_content IS
            SELECT content,id
            FROM table;
    BEGIN
            OPEN c_content;
            LOOP           FETCH c_content INTO v_Content;        UPDATE table set content2 = v_Content where id=v_id;        EXIT WHEN c_content%NOTFOUND;        END LOOP;        CLOSE c_content;
            COMMIT;
    END;
    /
      

  6.   

    masterz(www.fruitfruit.com) 的方法好,update table set content2 = content