更改过程时无法找出标量变量错误
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.
造成的
我有一个现有的 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.
造成的