У меня есть представление, в котором есть realField1, RealField2, Realfield3 и многие другие реальные поля, а также вычисляемый столбец с именем isHighestVersion
.
(realField означает реальный столбец в таблице SQL Server, имена столбцов для краткости переименованы).
Представление основано на многотабличном запросе (на самом деле он должен ссылаться несколько раз на одну и ту же базовую таблицу, но SQL Server обрабатывает их как несколько разных таблиц) и имеет один вычисленный логический столбец с именем isHighestVersion
,Это представление не разрешает непосредственное обновление и выдает следующее сообщение об ошибке при попытке:
Не удалось обновить или вставить представление или функцию 'xyz', поскольку оно содержит производное или постоянное поле.
Поскольку у меня будет много таких представлений, а поля базовых таблиц и представлений могут изменяться во время разработки, я хочу иметь «общий» код SQL внутри триггеров, который вытаскивает все столбцы (кроместолбец isHighestVersion
) из "вставленной" таблицы, а затем выполняет обновление правильной записи в одной реальной базовой таблице - конечно, без несуществующего столбца ishighestversion
.
Как это сделатьчто?