Я пытаюсь использовать следующее:
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
поля?