DB2:SQL 错误 [42997]:不支持函数(原因码 = "21")。SQLCODE=-270, SQLSTATE=42997



我必须编写一个sql脚本来修改db2数据库中的许多列类型。除了一个特定的表(使用的脚本和其他表相同(,一切都很顺利,db2总是返回一个我不理解的错误。

这是我的脚本:

ALTER TABLE "TEST"."CLIENT"
ALTER COLUMN C_CODE
SET DATA TYPE CHAR(16 OCTETS);

错误:

SQL错误[44297]:不支持函数(原因代码="21"(。。SQLCODE=-270,SQLSTATE=42997,DRIVER=4.26.14

我试图修改同一表上的其他一些列,但总是收到相同的错误。你有什么想法吗?

提前感谢

错误SQL0270N(sqlcode=-270(有许多可能的原因,具体原因由";原因代码";。

在这种情况下;原因码21";表示:

列不能被删除或具有其长度、数据类型、安全性,可为Null性,或在作为基的表上更改的隐藏属性具体化查询表的表。

Db2 LUW上此sqlcode的文档位于:https://www.ibm.com/docs/en/db2/11.5?topic=messages-sql0250-sql0499#sql0270n

在该页面上搜索SQL0270N,并注意到建议的用户响应:

To drop or alter a column in a table that is a base table for a materialized query table, perform the following steps:
1.  Drop the dependent materialized query table.
2.  Drop the column of the base table, or alter the length, data type, nullability, or hidden attribute of this column.
3.  Re-create the materialized query table.

相关内容

  • 没有找到相关文章

最新更新