Sql server 选择vs设置,设置不工作,但选择是,为什么?
我在SQL Server 2012中使用SET和SELECT时遇到了一个问题 使用以下SQL语句:Sql server 选择vs设置,设置不工作,但选择是,为什么?,sql-server,tsql,Sql Server,Tsql,我在SQL Server 2012中使用SET和SELECT时遇到了一个问题 使用以下SQL语句: SELECT @CellNo= Complainants.CellNo FROM Complainants INNER JOIN Complaints ON Complainants.ComplainantID = Complaints.Complainant_ID WHERE Complaints.ComplaintID = @Complai
SELECT @CellNo= Complainants.CellNo FROM Complainants
INNER JOIN Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID
SET @CellNo= Complainants.CellNo from Complainants
INNER JOIN Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID
它起作用了;但当我使用以下语句时:
SELECT @CellNo= Complainants.CellNo FROM Complainants
INNER JOIN Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID
SET @CellNo= Complainants.CellNo from Complainants
INNER JOIN Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID
然后它就不起作用了;报告的错误为:
Error: Incorrect syntax near FROM
为什么会出现这个错误 对SET命令使用以下格式:
SET @CellNo= (Select Complainants.CellNo from Complainants
inner join Complaints
ON Complainants.ComplainantID = Complaints.Complainant_ID
Where Complaints.ComplaintID = @ComplaintID)
使用以下命令:
SET @CellNo = (SELECT Complainants.CellNo
FROM Complainants INNER JOIN
Complaints ON Complainants.ComplainantID = Complaints.Complainant_ID
WHERE Complaints.ComplaintID = @ComplaintID)
这不是问题,这是它应该如何工作的问题。使用SET设置变量值,使用SELECT从表中选择数据。如果需要从列中读取数据,则必须使用SELECT。按照建议将set与subselect组合使用会起作用,但会添加额外的代码