这个问题在这里已经有了答案:
SQL Server: Why would i add ";1" to the end of a stored procedure name?
(3 个回答)
4年前关闭。
对很久以前某人创建的旧报告进行一些维护。我注意到报告的数据源是一个存储过程。 sproc 调用如下所示:
EXEC someStoredProc;1
我以前从未见过“;1”。只是好奇它到底是什么?网上找不到任何文档。如果我将“1”切换到任何其他数字,SQL 会抛出错误“找不到存储过程‘someStoredProc’”。但是将其切换回“1”,它就可以工作了。似乎对输出没有任何影响。这是什么?
我注意到我可以将“;1”放在任何存储过程之后,并且它的执行看起来与没有它时一样。
如果有人可以为我解开这个谜 - 谢谢!
最佳答案
这些被称为 Numbered Procedures , 已deprecated since 2005 (但仍然通过 SQL Server 2012
得到一些支持)
在 SQL Server 中,您可以使用 ;#
创建不同版本的存储过程。后缀。这些通常可用于重载存储过程,通过创建另一个接受不同数量参数或行为不同等的版本。
关于sql-server - ";1"在 MS SQL 中调用存储过程后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45088240/