Sql 如何在查询中使用变量和更改用户定义函数
我在sql server中定义了一些用户定义的函数。例如:Sql 如何在查询中使用变量和更改用户定义函数,sql,sql-server,function,sql-server-2014,user-defined-functions,Sql,Sql Server,Function,Sql Server 2014,User Defined Functions,我在sql server中定义了一些用户定义的函数。例如: 选择dbo.sumtimes(1,2)将返回3 及 选择dbo.MaxItems(5,3)将返回5 其他一些功能可能更复杂。 我还将变量及其公式表达式保存在表中: IdVar Title Formula ----- ----- --------------------- 1 Sum dbo.SumItems(@a , @b) 2 Max dbo.maxItems(@a , @b) 我的参数在另一个表中: a
选择dbo.sumtimes(1,2)
将返回3
及
选择dbo.MaxItems(5,3)
将返回5
其他一些功能可能更复杂。
我还将变量及其公式表达式保存在表中:
IdVar Title Formula
----- ----- ---------------------
1 Sum dbo.SumItems(@a , @b)
2 Max dbo.maxItems(@a , @b)
我的参数在另一个表中:
a b
-- --
1 2
5 3
现在,我想连接这两个表并得到以下结果:
Parameter a Parameter b Variable Title Result
----------- ----------- -------------- ------
1 2 Sum 3
1 2 Max 2
5 3 Sum 8
5 3 Max 5
我也从另一个角度提出了我的问题。昨天发布了与此非常相似的内容。如您所知,您只能使用动态sql执行此类功能 现在,我没有你的功能,所以你必须提供这些 我在过去也做过类似的事情,一次计算了大量收入/资产负债表的一系列比率 下面是一种方法。(但是,我没有挖掘这两个参数……似乎有点有限,但我相信您可以根据需要进行扩展) 返回
ID ParameterA ParameterB Title Value
1 1 2 Sum 3
2 1 2 Multiply 2
1 5 3 Sum 8
2 5 3 Multiply 15
SQL查询并不是为实现这一点而设计的。在这种情况下,游标可能是最好的方法。游标?你能解释更多吗?这是现实世界的需要吗?你想达到什么目标?我很确定,有更好的方法……是的,这是一个真正的需要,我正在开发一个数据分析软件,我需要使用用户定义的函数计算许多变量。@Shnugo,因为我怀疑这是真实世界。我做了一些非常类似的事情,在一次过程中动态计算了许多LOB的一系列财务比率。
ID ParameterA ParameterB Title Value
1 1 2 Sum 3
2 1 2 Multiply 2
1 5 3 Sum 8
2 5 3 Multiply 15