1

我有一个应用程序,其中数据库中有 1000 列,每列值都是根据公式计算的。该公式可由用户修改。我需要一种方法将这些计算映射到数据库中的特定列,以便用户可以编辑它。

例如:我的表有 3 列COL_A, COL_B & COL_C

我有一个计算结果:VALUE = COL_A + COL_B

将来,如果用户想要更改此计算,例如:VALUE = COL_A + COL_B + COL_C那么此更改应该得到反映。

这是最好的方法吗?

谢谢,

乌吉瓦尔·索尼

4

2 回答 2

3

您可以编写一个接受参数并返回值的 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)
于 2020-04-29T09:50:55.943 回答
1

您可以不理会您的基表,将计算编写为函数,然后创建一个视图,该视图将从您的表中进行选择并将函数用于计算字段。稍后,您可以在不更改表或视图的情况下更改函数中的计算。

于 2013-10-10T19:18:34.443 回答