将LOB添加到Oracle表有什么问题?

时间:2009-07-07 09:03:19

标签: oracle blob alter-table clob

我正在尝试通过添加新的CLOB列(在Oracle 10上)来 ALTER 一个表,但它失败了。 给我一个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 个答案:

答案 0 :(得分:5)

您无法指定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

答案 1 :(得分:1)

alter table t add a_column clob;
alter table t add a_column_with_max_size varchar2(1234); --max 4000

答案 2 :(得分:1)

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