&#34 ;; 1"在MS SQL中调用存储过程后?

时间:2017-07-13 18:16:52

标签: sql-server sql-server-2008 stored-procedures

对很久以前由某人创建的旧报告进行一些维护。我注意到报告的数据源是一个存储过程。 sproc调用看起来像这样:

EXEC someStoredProc;1

我从未见过&#34 ;; 1"之前。只是好奇它到底是什么?无法在线查找任何文档。如果我切换" 1"对于任何其他数字,SQL抛出错误"无法找到存储过程&some 39; someStoredProc'"。但是把它切换回" 1"它的工作原理。似乎对输出没有任何影响。这是什么东西?

我注意到我可以把&#34 ;; 1"在任何存储过程之后它执行似乎与没有它相同。

如果有人能为我清理这个谜 - 谢谢!

1 个答案:

答案 0 :(得分:5)

这些被称为Numbered Procedures,已经deprecated since 2005(但仍然通过SQL Server 2012得到支持)

在SQL Server中,您可以使用;#后缀创建存储过程的不同版本。这些通常可以用于重载存储过程,通过创建另一个接受不同数量的参数或行为不同的版本等。