Я хотел бы сделать INSERT / SELECT, это означает INSERT в TARGET_TABLE записи SOURCE_TABLE, с этим предположением:
ИСТОЧНИК и таблица TARGET имеют только ПОДПИСЬ общих столбцов, это означает в примере:
==> ТАБЛИЦА ИСТОЧНИКОВ имеет столбцы ALPHA, BETA и GAMMA;
==> TARGET TABLE имеет столбцы BETA, GAMMA и DELTA.
Каков наиболее эффективный способ создания операторов INSERT / SELECT с учетом предположения о том, что не все целевые столбцы присутствуют в исходной таблице?
Идея состоит в том, что сценарий PL / SQL ПРОВЕРЯЕТ столбцы в исходной таблице и в целевой таблице, выполняет ПЕРЕКЛЮЧЕНИЕ, а затем создает динамический SQL с правильным списком столбцов.
Предположим, что столбцы, присутствующие в целевой таблице, но не присутствующие в исходной таблице, должны быть оставлены в NULL.
Я хочу извлечь данные из SOURCE в набор операторов INSERT для последующей вставки в таблицу TARGET.
Можно предположить, что таблица TARGET имеет больше столбцов, чем таблица SOURCE, и что все столбцы таблицы SOURCE присутствуют в таблице TARGET в том же порядке.
Заранее благодарю за полезные советы!