代码之家  ›  专栏  ›  技术社区  ›  Robert Gould

向Oracle表中添加LOB有什么问题?

  •  2
  • Robert Gould  · 技术社区  · 15 年前

    我正在努力 改变 通过添加一个新的CLOB列(在Oracle10上)得到的表,但它失败了。 给我一个ORA-01735错误。问题是,我不能通过谷歌搜索来找出我的问题所在,所以我想我会在这里询问,以防万一。

    无论如何,我的问题是:

     ALTER TABLE "MYSCHEMA"."MYTABLE" ADD "ACOLUMN" CLOB(2048);
    

    并得到以下错误:

    SQL Error: ORA-01735: invalid ALTER TABLE option
    01735. 00000 -  "invalid ALTER TABLE option"
    

    有什么想法吗?

    谢谢。

    3 回复  |  直到 15 年前
        1
  •  5
  •   Vincent Malgrat    15 年前

    不能为CLOB指定大小(如果要指定大小,请使用varchar):

    SQL> alter table t add ("ACOLUMN" CLOB(2048));
    
    alter table t add ("ACOLUMN" CLOB(2048))
    
    ORA-00907: missing right parenthesis
    
    SQL> alter table t add ("ACOLUMN" CLOB);
    
    Table altered
    
        2
  •  1
  •   Michal Pravda    15 年前
    alter table t add a_column clob;
    alter table t add a_column_with_max_size varchar2(1234); --max 4000
    
        3
  •  1
  •   Tony Andrews    15 年前

    如果您在该列中不希望超过2048个字符,请不要使用CLOB,使用varchar2(2048)。varchar2最适合4000个字符;如果您可能需要更多字符,请仅使用CLOB。