Netezza 中的错误 int8 外部表示“6 * 725”

在执行存储过程时,我在 netezza 中收到类似“Bad int8 external representation "6*725"”的错误。此存储过程从表中获取数据并进行一些转换并加载到另一个表中。

谁能帮帮我吗 。

谢谢,布拉金德拉

stack overflow Bad int8 external representation "6*725" in Netezza
原文答案

答案:

作者头像

仅供参考:可能是这个问题的多个答案,因为没有您运行的查询来获取错误。

如果您执行了这样的直接 INSERT 命令,则 select 子句中表列的顺序与 insert 子句中表列的顺序不匹配。大多数数据库管理系统不关心顺序是什么,但 Netezza 关心。它抛出“Bad int8”的事实只是意味着它在 select 子句中无法匹配的第一列具有该数据类型,而 insert 子句中的数据类型具有不同的数据类型。

INSERT INTO DB1..TABLE1
SELECT * FROM DB1..TABLE2;

您可以使用两种方法之一进行修复。通过删除并重新创建表来更改列的顺序。或者在 INSERT INTO/SELECT 命令中使用明确的列名。