Я пытаюсь использовать следующее:
update bseg from zbseg
где таблицы имеют разную длину (ZBSEG
- это уменьшенная версия BSEG
).
Вся идея в том, что BSEG
- это просто пример, у меня есть цикл, в котором будут повторяться все таблицы кластера, поэтому все должно быть динамически.
Табличные данные из кластера сокращаются до нескольких полей и копируются в прозрачную таблицу (словарь данных в новой прозрачной таблице имеет первичные ключи + только несколько полей кластера), после чего данные в БД будут изменены и скопированы обратно через UPDATE
в кластер .
update bseg from zbseg
этот оператор обновляет значения полей из ZBSEG
, но в остальном не сохраняет старые значения, а скорее устанавливает начальные значения.
Я пробовал даже это:
SELECT *
FROM bseg
INTO TABLE gt_bseg.
SELECT mandt bukrs belnr gjahr buzei buzid augdt
FROM zbseg
INTO CORRESPONDING FIELDS OF TABLE gt_bseg.
но он по-прежнему перекрывает те поля, которые не рассматриваются в zbseg.
Любой оператор, который обновит только определенный диапазон полей, извлеченных из ZBSEG
, не затрагивая другие BSEG
поля?