尝试将 CLOB 类型的列添加到 DB2 中的 table

Trying to add column of CLOB type to table in DB2

我需要向数据库中现有的 table 添加类型 "CLOB" 的列,因此我使用以下查询:

alter table foldet add("FOLDER_FIELD_VALUE_TWO" CLOB);

但我收到以下错误

Error starting at line : 5 in command - alter table foldet add("FOLDER_FIELD_VALUE_TWO" CLOB) Error report - SQL Error: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=CLOB;DER_FIELD_VALUE_TWO";JOIN , DRIVER=3.63.75

如何向 table 添加一列?

ALTER TABLE table_name

ADD column_name datatype

这是向 table 添加列的语法。所以如果你去掉括号我认为应该没问题。

您收到错误 (-551),因为您在 table 上没有 ALTER 权限。错误消息中都有,如手册中所示。

SQL Error: SQLCODE=-551, SQLSTATE=42501, SQLERRMC=IPASS;ALTER TABLE;FOLDET, DRIVER=3.63.75
                   ^^^^                           ^^^   ^^^^^^^^^^    ^^^
                error code                       user   privilege    table 

您没有说什么 DB2 版本或平台发送了错误响应,但是 SQLSTATE/SQLCODE 值应该在所有这些版本或平台上基本一致。在DB2 for i 7.2中查找SQLSTATE 42501,给出的原因是:

  • 授权ID没有权限执行 对已识别对象的指定操作。

IOW,当您连接到收到错误的用户 ID 时,您没有足够的权限更改 table 的结构。

SQLSTATE 42501 来自您的最新评论。根据您的问题,SQLSTATE 42601 是:

  • 字符、标记或子句无效或缺失。

你的评论描述了你是如何清理它的,@SimeonVanov 的回答正确地解决了这个问题。