Вы уже знаете основные принципы таблиц и sql из ORACLE.
Существует множество раздражающих различий в именах функций SQL и некоторых ключевых словах, но это не должно слишком замедлять вас.
Внутренне DB2 значительно отличается от ORACLE, особенно в том, как распределяется память и как осуществляется блокировка и транзакции. Это не должно вас слишком беспокоить, если вы не хотите, чтобы вы делали некоторые работы и настраивали работу.
Основные области отличия относятся только к z/OS, а не к DB2. Во-первых, большинство программ мэйнфреймов записываются в COBOL или DB2 для запуска внутри CICS или IMS-мониторов транзакций (думаю, J2EE-контейнеры, но для COBOL), и обычно эти программы используют «STATIC» sql. Поэтому его определенно стоит прочитать руководство о том, как написаны и реализованы программные sql-программы. Программирование на самом деле проще, поскольку прекомпилятор выполняет большую часть тяжелой работы и доставляет данные в фактические поля в вашей программе, но есть дополнительные беспорядки вокруг DBRM, basiclilly SQL лишается исходного кода и сохраняется в файле, перед запуском программы файл должен быть загружен в целевую базу данных (с использованием BIND PLAN), и на этом этапе план оптимизации и доступа выполняется, когда вы приходите для запуска своей программы, есть готовый и ожидаемый план доступа.
Вторая серьезная боль - вам нужно научиться JCL. Который является довольно уникальным похмелье от самых первых серий 360 около 1968 года. Подумайте об этом как о очень примитивном скрипте муравья!