【发布时间】:2017-06-09 14:48:13
【问题描述】:
我正在尝试更改表并添加一个新列作为 clob,但我只能将大小设置为 4,000。我使用的语法是:
ALTER TABLE table_name
add column_name CLOB(100000)
我得到的错误是:
ORA-01735: 无效的 ALTER TABLE 选项
如果我说:
ALTER TABLE table_name
add column_name CLOB
这允许我创建一个默认大小为 4,000 的列。
【问题讨论】:
-
您不能指定 CLOB 的大小。 LOB 的限制是几个 GB(在当前版本中甚至是 TB)。
-
问题不太可能出在 CLOB 列上,更有可能是您尝试将数据添加到列中的方式。您是如何尝试填充该列的?
-
@Boneist 通过 php 脚本,但我现在要做的只是添加一列,而不是填充它
-
@Daoud 您从哪里获得“默认大小 4000”?如果它来自 dba/all/user_tab_columns,则忽略它。我假设 LOB 列的 data_length 是指可以内联存储的最大数据量(即,不必将 CLOB 存储在表外的内存中,然后在表行中添加指向内存区域的指针)。请参阅the documentation 了解更多信息。