我尝试更改Hana表的列的数据类型并收到错误:"
不支持功能:无法将列类型从bigint修改为整数
&#34 ;.更改表语句:
ALTER TABLE" SCHEMA_NAME"。" TABLE_NAME" ALTER(" C_BIGINT" INTEGER);
表DDL:
CREATE ROW TABLE" SCHEMA_NAME"。" TABLE_NAME" (" C_BIGINT" BIGINT);
似乎我已经获得了所有必需的资助但是我尝试更改的任何数据类型都会出错。
答案 0 :(得分:2)
您无法将数据类型更改为较小的大小,例如从BigInt更改为Int 我采用了不同的方法来实现您的要求
我添加了一个INT数据类型
的新列从BIGINT列更新新列值。
在此UPDATE命令中,对于大于INT的值,数据类型将导致错误 如果您没有任何此类值,则可以继续下一步
删除旧列
使用旧列名重命名新列
全部
CREATE ROW TABLE "TABLE_NAME" ("C_BIGINT" BIGINT);
ALTER TABLE "TABLE_NAME" ADD ("C_INT" INT);
UPDATE "TABLE_NAME" SET C_INT = C_BIGINT
ALTER TABLE "TABLE_NAME" DROP ("C_BIGINT");
RENAME COLUMN "TABLE_NAME"."C_INT" TO "C_BIGINT";