我有一个应用程序,其中数据库中有 1000 列,每列值都是根据公式计算的。该公式可由用户修改。我需要一种方法将这些计算映射到数据库中的特定列,以便用户可以编辑它。
例如:我的表有 3 列COL_A, COL_B & COL_C
我有一个计算结果:VALUE = COL_A + COL_B
将来,如果用户想要更改此计算,例如:VALUE = COL_A + COL_B + COL_C
那么此更改应该得到反映。
这是最好的方法吗?
谢谢,
乌吉瓦尔·索尼
我有一个应用程序,其中数据库中有 1000 列,每列值都是根据公式计算的。该公式可由用户修改。我需要一种方法将这些计算映射到数据库中的特定列,以便用户可以编辑它。
例如:我的表有 3 列COL_A, COL_B & COL_C
我有一个计算结果:VALUE = COL_A + COL_B
将来,如果用户想要更改此计算,例如:VALUE = COL_A + COL_B + COL_C
那么此更改应该得到反映。
这是最好的方法吗?
谢谢,
乌吉瓦尔·索尼
您可以编写一个接受参数并返回值的 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)
您可以不理会您的基表,将计算编写为函数,然后创建一个视图,该视图将从您的表中进行选择并将函数用于计算字段。稍后,您可以在不更改表或视图的情况下更改函数中的计算。