我有一个应用程序,其中数据库中有1000列,每个列值都是基于公式计算的。用户可以修改此公式。我需要一种将这些计算映射到数据库中特定列的方式,以便用户可以对其进行编辑。
例如:我的表有3列COL_A, COL_B & COL_C
我有一个计算公式为:VALUE = COL_A + COL_B
[将来,如果用户要更改此计算,请说:VALUE = COL_A + COL_B + COL_C
,则此更改应得到反映。
哪个是最好的方法?
谢谢,
Ujjwal Soni
您可以不使用基表,将计算写为函数,然后创建一个视图,该视图将从表中选择并将函数用于计算字段。以后,您可以在函数中更改计算,而无需更改表或视图。
您可以编写一个接受参数并返回值的SQL标量函数。然后可以通过传递必要的参数来调用该函数。以后可以修改该功能以满足您的需求。下面是创建函数以及如何调用它的示例。
-- Create the function
CREATE FUNCTION [Rmas].[functionName](@valA int, @valB int)
RETURNS int
AS
BEGIN
DECLARE @answer int;
SELECT @answer = @valA + @valB;
RETURN @answer
END
-- Call the function to access the calculation
SELECT [Rmas].[functionName](2,3)