SQL服务器中的可选参数

前端之家收集整理的这篇文章主要介绍了SQL服务器中的可选参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户定义的函数,在许多存储过程中使用,这将给我一些价值.如果我可以添加一个新的可选参数到同一个.

如果我没有传递任何值,它应该是null,如果我传递一些值,它应该采取.我不想去改变所有的存储过程来做到这一点.

示例代码

dbo.CalculateAverageForUser(userid int)

可以使用dbo.CalculateAverageForUser(userid int,type NVARCHAR(10)= NULL)

解决方法

如果您不想调整所有引用该函数的现有存储过程,那么我认为您需要使用现有代码创建一个新函数
CREATE FUNCTION CalculateAverageForUser2
(
    @userid int,@param2 nvarchar(10) = NULL
)
RETURNS float
AS
/*Code from existing function goes here*/

然后只需将现有功能更改为以下功能

ALTER FUNCTION CalculateAverageForUser 
(
 @userid int
)
RETURNS float
AS
BEGIN
RETURN dbo.CalculateAverageForUser2(@userid,DEFAULT)
END

猜你在找的MsSQL相关文章