必须声明标量变量-即使该变量已定义(q&a)

6psbrbz9  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(441)

我正在尝试执行查询,但不断出现以下错误:
必须声明标量变量“@userid”。
但正如您从下面的sql(简化示例)中看到的,该变量是声明的。

declare @userId uniqueidentifier = '76652631-bd15-22b2-1a00-6ae6ee1e101a'

USE MyDatabase
GO

SELECT * FROM [User] where UserId = @userId

为什么会这样?

rdlzhqv9

rdlzhqv91#

问题是'go'语句是一个终止符,所以在执行之后,变量(在它上面创建,但在它下面使用)就不再存在了。
将您的代码更改为以下代码,它就可以工作了。

USE MyDatabase
GO

declare @userId uniqueidentifier = '76652631-bd15-22b2-1a00-6ae6ee1e101a'

SELECT * FROM [User] where UserId = @userId

相关问题