如果我想将变量设置为表中的字段,我通常使用类似的东西
SELECT @UserIdToUpdate = userId FROM #NewUsers
Run Code Online (Sandbox Code Playgroud)
在这种情况下会有多个结果,我只想要第一个,所以我尝试了这个,但它失败了,并说无效的语法顶部
SELECT @UserIdToUpdate = TOP 1 UserId FROM #NewUsers
Run Code Online (Sandbox Code Playgroud)
如果是这种情况,我可以使用没有顶部的第一个例子吗?我想它只会拿第一张唱片?我知道这似乎是奇怪的事情,但命令是在循环中所以它将选择一个记录,用它做一些事情,删除它然后选择下一个.
Chr*_*ter 15
SELECT @UserIdToUpdate = NULL
SELECT TOP 1 @UserIdToUpdate = userId FROM #NewUsers
Run Code Online (Sandbox Code Playgroud)
第一个语句是必需的,因为如果第二个语句找到零行,那么该变量根本不会被赋值,并将保留其先前值.
或者,
SELECT @UserIdToUpdate = (SELECT TOP 1 userId FROM #NewUsers)
Run Code Online (Sandbox Code Playgroud)
即使找到零行也会有效.
| 归档时间: |
|
| 查看次数: |
19504 次 |
| 最近记录: |