Плохое внешнее представление int8 6*725 в Netezza

Я получаю сообщение об ошибке типа "Неверное внешнее представление int8 "6*725"" в netezza при выполнении хранимой процедуры. Эта хранимая процедура берет данные из таблицы, выполняет некоторые преобразования и загружает их в другую таблицу.

Кто-нибудь может мне помочь, пожалуйста .

Спасибо, Бражендра.


person braj    schedule 03.01.2014    source источник
comment
Ошибка звучит так, будто у вас есть string из '6*725' в столбце integer. Попробуйте следующее cast(decode(columnx,'6*725','4350',columnx) as integer)   -  person Niederee    schedule 06.01.2014
comment
да ты обряд. когда я проверил данные, у меня возникла проблема. Спасибо за помощь.   -  person braj    schedule 17.01.2014


Ответы (1)


К вашему сведению: на этот вопрос может быть несколько ответов, потому что у вас нет запроса, который вы выполнили, чтобы получить ошибку.

Если вы выполнили прямую команду INSERT, подобную этой, порядок столбцов таблицы из предложения select НЕ соответствует порядку столбцов таблицы из предложения вставки. Большинству систем управления базами данных не важен порядок, но для Netezza это важно. Тот факт, что он выдал «Bad int8», просто означает, что первый столбец, который не может сопоставиться в предложении select, имеет этот тип данных, а тип данных в предложении вставки имеет другой тип данных.

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

Исправить можно одним из двух способов. Либо измените порядок столбцов, удалив и заново создав таблицу. Или используйте явные имена столбцов в команде INSERT INTO/SELECT.

person MacGyver    schedule 09.04.2015