在Teradata中,当执行ALTER TABLE命令将现有列的数据类型从VARCHAR(10)修改为CHAR(10)时,我收到3558错误,指示无法更改指定的属性。是否有其他方法对此进行编码以实现所需目标,或者是否需要删除并重新创建列以更改数据类型?
答案 0 :(得分:4)
当内部存储发生变化时,您无法修改数据类型,这是VARCHAR< - >的情况。 CHAR。
而不是 ADD CHAR - >来自VARCHAR的UPDATE CHAR(需要一个巨大的瞬态期刊) - > DROP VARCHAR 你最好创建一个新表 - > INSERT / SELECT(无TJ) - > DROP / RENAME 强>
编辑:正如Rob Paller建议的那样,使用MERGE INTO而不是INSERT SELECT将避免假脱机源表。