关键字“TOP”附近的语法不正确。数据库服务器

msb*_*uva 3 sql sql-server

我有一个函数的返回值,我将它分配给一个变量,但出现错误

关键字“TOP”附近的语法不正确。数据库服务器

if @Miracle is null OR @Miracle   =''
select @Miracle  = TOP(1) M.MiracleName
FROM Miracle M where M.MiracelID = @MiracelID
Run Code Online (Sandbox Code Playgroud)

如何将像 TOP 这样的函数分配给变量?

sge*_*des 6

我认为您只需要在变量之前移动 TOP 1:

select TOP 1 @Miracle = M.MiracleName
...
Run Code Online (Sandbox Code Playgroud)

您不是将 TOP 分配给变量,而是使用 TOP 告诉 SQL Server 仅返回一行。

祝你好运。