Я не совсем уверен, как спросить, но позвольте мне спросить примером:Передача «текущая» строки функции в SQL Server
У меня есть таблица за что я не могу изменить структуру на. Он регистрирует денежные депозиты на терминалах, подобных ATM, и имеет по одному столбцу для каждого номинала денежной ноты. Сейчас, когда мне нужна общая стоимость депозита мне нужен код так:
(rd.Count_R10 * 10) + (rd.Count_R20 * 20) + (rd.Count_R50 * 50) + (rd.Count_R100 * 100) + (rd.Count_R200 * 200)
Я хотел бы написать функцию T-SQL, что дает мне, что общая стоимость, но и для любой строки, а не для всей запрос, так что моя функция будет что-то вроде:
CREATE FUNCTION DepositTotal
(
@row ????
)
RETURNS money
AS
BEGIN
RETURN (row.Count_R10 * 10) + (row.Count_R20 * 20) + (row.Count_R50 * 50) + (row.Count_R100 * 100) + (row.Count_R200 * 200)
END
Тогда я назвал бы это что-то вроде:
select
DepositDate
, DepositTotal(thisRow)
, BatchId
from Deposits
+1 Просмотров было бы лучшим решением для этого. –
Или реализовать то же, что и вычисленный столбец. Просмотр менее инвазивный, хотя вы не изменяете схему базовой таблицы. –