SQL Server PROCEDURE变量声明

时间:2017-11-24 15:09:57

标签: sql variables stored-procedures declaration procedure

我怀疑为什么在使用参数调用存储过程时必须将变量重新分配给新值。 在程序中我们需要2个变量。并且需要重新分配变量以便在过程中使用。

2 个答案:

答案 0 :(得分:0)

我相信这会回答你的问题(或我对它的理解):

Global variables in SQL

答案 1 :(得分:0)

参数嗅探

https://blogs.msdn.microsoft.com/turgays/2013/09/10/parameter-sniffing-problem-and-possible-workarounds/

  

SQL Server使用(嗅探)编译存储过程   参数在第一次编译时发送并放入   计划缓存。之后每次执行该过程时,SQL   服务器从缓存中检索执行计划并使用它(除非   有重新编译的原因)。潜在的问题出现了   当第一次执行存储过程时,设置为   参数为该组参数生成可接受的计划,但是   对于其他更常见的参数集非常糟糕。

提供的链接中的一个解决方案是使用局部变量。例如,你在做什么。