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