当前位置: 首页 > 面试题库 >

SQL Server中的可选参数

晏树
2023-03-14
问题内容

我有一个用户定义的函数,该函数已在许多存储过程中使用,这些函数将为我返回一些值。如果可以的话,可以在其中添加一个新的可选参数。

如果我不传递任何值,则应为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


 类似资料:
  • 问题内容: Go可以有可选参数吗?还是可以只定义两个具有相同名称和不同数量参数的函数? 问题答案: Go没有可选参数,也不支持方法重载: 如果方法调度也不需要进行类型匹配,则可以简化该方法。其他语言的经验告诉我们,使用具有相同名称但签名不同的多种方法有时会很有用,但在实践中也可能会造成混淆和脆弱。在Go的类型系统中,仅按名称进行匹配并要求类型一致是简化的主要决定。

  • 问题内容: 有人可以解释一下如何编写网址格式和允许可选参数的视图吗?我已成功完成此操作,但我总是会破坏url模板标记。 这是我目前所拥有的: 图案 视图 如果在此示例中使用提供两个参数的url模板标记,则效果很好;但是,如果省略可选参数,则会出现反向错误。 我该怎么做? 问题答案: 我通常使用命名的url制作两种模式:

  • 问题内容: 最近,我与队友讨论了 在方法中使用可选参数的问题。 假设方法是 接受一个和 可选参数 ,它返回该目录中列出的书籍,如果还传递了类别,则仅返回该类别中的书籍。 冲突点是,验证是否为空检查。我认为不应对此进行空检查,因为它是可选参数。函数的调用者可以通过或,并且函数应在实现中处理两种情况。 我的意见是,对于可选参数,只会使方法的约定更加明确。只需查看方法签名即可知道此参数是可选的,不需要读

  • 最近,我和我的队友讨论了在方法中使用作为可选参数。 假设方法是 我的观点是,对于可选参数,只会使方法的契约更加清晰。只要看一下方法签名就可以知道这个参数是可选的,不需要读取JavaDocs。但当他不想使用该可选参数时,不应强制他传递。 我的队友有不同的看法。他希望对其进行空检查,从而强制调用方始终传递。他的观点是为什么我们要通过一个空的可选选项。此外,看起来比更易读。 这个方法在我们的一个库包中,

  • 用户在这个插件的很多方面都可以进行定制,用户通过插件选项来达到这个目的(这些选项会在插件初始化的时候起效)。这些选项包括: 选项 描述 aspectRatio 长宽比,以后在选择时候就会维持不变。例如:"4:3" autoHide 如果设为true,那么在选择完后区域会消失。Default:false classPrefix 预先给插件元素的前缀 Default:imgareaselect dis

  • 英文原文:http://www.phpconcept.net/pclzip/user-guide/5 可选参数(普通参数) PCLZIP_OPT_PATH PCLZIP_OPT_ADD_PATH PCLZIP_OPT_REMOVE_PATH PCLZIP_OPT_REMOVE_ALL_PATH PCLZIP_OPT_SET_CHMOD PCLZIP_OPT_BY_NAME PCLZIP_OPT_B