在执行存储过程时,我在 netezza 中收到类似“Bad int8 external representation "6*725"”的错误。此存储过程从表中获取数据并进行一些转换并加载到另一个表中。
谁能帮帮我吗 。
谢谢,布拉金德拉
仅供参考:可能是这个问题的多个答案,因为没有您运行的查询来获取错误。
如果您执行了这样的直接 INSERT 命令,则 select 子句中表列的顺序与 insert 子句中表列的顺序不匹配。大多数数据库管理系统不关心顺序是什么,但 Netezza 关心。它抛出“Bad int8”的事实只是意味着它在 select 子句中无法匹配的第一列具有该数据类型,而 insert 子句中的数据类型具有不同的数据类型。
INSERT INTO DB1..TABLE1 SELECT * FROM DB1..TABLE2;
您可以使用两种方法之一进行修复。通过删除并重新创建表来更改列的顺序。或者在 INSERT INTO/SELECT 命令中使用明确的列名。
仅供参考:可能是这个问题的多个答案,因为没有您运行的查询来获取错误。
如果您执行了这样的直接 INSERT 命令,则 select 子句中表列的顺序与 insert 子句中表列的顺序不匹配。大多数数据库管理系统不关心顺序是什么,但 Netezza 关心。它抛出“Bad int8”的事实只是意味着它在 select 子句中无法匹配的第一列具有该数据类型,而 insert 子句中的数据类型具有不同的数据类型。
您可以使用两种方法之一进行修复。通过删除并重新创建表来更改列的顺序。或者在 INSERT INTO/SELECT 命令中使用明确的列名。