У меня есть случай, когда мне нужно выполнить динамический расчет на основе определенной записи в столбце.SQL Server - Как выполнить вычисление на основе динамической формулы
таблица выглядит примерно так:
DECLARE Temp TABLE (
Id INT,
Name NVARCHAR(255),
Const1 DECIMAL(18,10),
Const2 DECIMAL(18,10),
Const3 DECIMAL(18,10),
Const4 DECIMAL(18,10)
);
Я хочу, чтобы добавить в поле под названием «Расчет». Пользователь должен указать в этом поле, как должны применяться константы (т. Е. «Const1 * Const2 + (Const3 - Const4)»).
У меня есть функция, которая имеет формулу с жесткой кодировкой, но я хочу иметь возможность динамически сопоставлять столбцы таблицы в поле «Расчет». Это возможно? Если я получаю запись в таблице как:
ID| Name | Const1 | Const2 | Const3 | Const4 | Calculation
1 | Calculation1 | 5 | 3 | 2 | 9 | Const1 * Const2 + (Const3 - Const4)
Тогда в моей функции, я могу динамически сделать расчет и вернуть это как выход? Правильно ли я подхожу к этой проблеме?
Заранее благодарен!
Вы еще что-нибудь пробовали? –
@Tom H Я добавил в новое поле формулу, как описано выше. Я пытаюсь выяснить, как сделать сопоставление с именем столбца, основанным на записи столбца varchar. – RizJa
Не было бы лучше сделать это в слое над слоем базы данных? –