更改过程时无法找出标量变量错误

Can't figure out Scalar Variable Error when Altering Procedure

我有一个现有的 sql 服务器存储过程,我正在尝试更新它。每次我 运行 Alter Procedure 时,我都会收到以下错误:

SQL Error: Must declare the scalar variable "@varOne".

我用 Google 搜索了一下,但没有找到任何关于如何克服此错误的帮助...:/ 下面的过程:

ALTER PROCEDURE [dbo].[sp_test] (
  -- Declare
  @varOne tinyint,
  @varTwo numeric(17,0)
) As

Set NoCount On
-- Select
Select  *
Into    #t
From    SQL_Test.dbo.trans with (nolock)
Where   test>=123
    And Case @varOne When 1 Then rNo  When 2 Then iNo  When 3 Then sNo End = @varTwo

Union
Select  *
From    SQL_Test.dbo.trsave with (nolock)
Where   date_time > DateAdd(dd, -60, GetDate())
    And Case @varOne When 1 Then rNo  When 2 Then iNo  When 3 Then sNo End = @varTwo

编辑:我通过删除原始程序并重新创建来解决了这个问题。仍然好奇为什么改变不起作用。猜测是客户端使用SQL Server 2012.

造成的

我通过删除原始过程并重新创建来解决了这个问题。仍然好奇为什么改变不起作用。猜测是客户端使用SQL Server 2012.

造成的