У меня есть таблица IBM DB2, из которой я хочу разгрузить данные, чтобы я мог загрузить их в другую таблицу DB2.
Обе таблицы имеют одинаковые столбцы (и типы), за исключением одного десятичного поля.
Это DECIMAL (6) в исходной таблице и DECIMAL (5) в целевой таблице.
В исходной таблице много записей, которые используют до 5 цифр в поле DECIMAL. и только некоторые из них используют все 6 из них.
Что я собираюсь сделать, это только скопировать записи, которые go до 5 цифр в исходной таблице, и отбросить все остальные.
Могу ли я сделать это только с помощью оператора UNLOAD? Поэтому, имея опцию, которая сообщает системе «выгрузить столбец id» как DECIMAL (5) (хотя в самой таблице это DECIMAL (6)), и если запись в этом столбце использует все 6 цифр (> 99999), не выгружать та строка ".
Кроме того, как бы вы справились с делом, если бы все было наоборот? Например, выгрузите DECIMAL (5) из источника и ЗАГРУЗИТЕ как DECIMAL (6) в месте назначения
Почему я это делаю? Поскольку таблица назначения является более старой версией таблицы, используемой более старыми версиями приложений. Мы откажемся от поддержки через 6 месяцев, но до тех пор нам нужно обновить sh наборов данных в нем.
С UNLOAD и LOAD я говорю об утилитах UNLOAD и LOAD для z / OS, описанных (?) под например https://www.ibm.com/support/knowledgecenter/SSEPEK_11.0.0/ugref/src/tpc/db2z_utl_unload.html