如何将Cars表中指定行的ID存储到已声明的SQL变量中
解决方案
你可以通过两种常见方式将查询到的ID赋值给已声明的变量:
方法1:直接在SELECT语句中赋值
这是最简洁的实现方式,直接在查询时将目标列的值赋给变量,无需查询所有列(仅需ID即可):
DECLARE @id AS INT; SELECT TOP 1 @id = [ID] FROM Cars WHERE MaxSpeed = 200 ORDER BY [ID] DESC;
方法2:使用SET语句结合子查询
如果更倾向于明确的赋值逻辑,可以用SET配合返回单个值的子查询(TOP 1确保子查询仅返回一行):
DECLARE @id AS INT; SET @id = ( SELECT TOP 1 [ID] FROM Cars WHERE MaxSpeed = 200 ORDER BY [ID] DESC );
注意事项
如果没有符合MaxSpeed = 200的行,变量@id会被设置为NULL,你可以根据需求添加额外判断逻辑(比如用ISNULL设置默认值)。
内容的提问来源于stack exchange,提问作者Behdadsoft
相关产品推荐
相关产品推荐

