我试图从一个SQL查询设置一个变量:
declare @ModelID uniqueidentifer
Select @ModelID = select modelid from models
where areaid = 'South Coast'
很明显,我做得不对,因为它不起作用。谁能提出一个解决方案?
谢谢!
我试图从一个SQL查询设置一个变量:
declare @ModelID uniqueidentifer
Select @ModelID = select modelid from models
where areaid = 'South Coast'
很明显,我做得不对,因为它不起作用。谁能提出一个解决方案?
谢谢!
当前回答
我更喜欢从declare语句中设置它
DECLARE @ModelID uniqueidentifer = (SELECT modelid
FROM models
WHERE areaid = 'South Coast')
其他回答
我更喜欢从declare语句中设置它
DECLARE @ModelID uniqueidentifer = (SELECT modelid
FROM models
WHERE areaid = 'South Coast')
要使用SQL选择分配变量,最佳实践如下所示
->DECLARE co_id INT ;
->DECLARE sname VARCHAR(10) ;
->SELECT course_id INTO co_id FROM course_details ;
->SELECT student_name INTO sname FROM course_details;
如果你必须在单行中分配多个变量,你可以使用同样的SELECT INTO
->DECLARE val1 int;
->DECLARE val2 int;
->SELECT student__id,student_name INTO val1,val2 FROM student_details;
--HAPPY CODING--
如果查询返回多行,则使用TOP 1。
SELECT TOP 1 @ModelID = m.modelid
FROM MODELS m
WHERE m.areaid = 'South Coast'
Select @ModelID =m.modelid
From MODELS m
Where m.areaid = 'South Coast'
在这种情况下,如果你有两个或更多的结果返回,那么你的结果是最后的记录。因此,如果您可能会返回另外两条记录,因为您可能看不到预期的结果,请注意这一点。
declare @ModelID uniqueidentifer
--make sure to use brackets
set @ModelID = (select modelid from models
where areaid = 'South Coast')
select @ModelID