需要一些存储过程的错误帮助
问题描述:
可能重复:结果
需要一些存储过程PLZ
错误: -
这赋值给变量的SELECT语句不能与数据检索操作结合起来。
A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations.
答
你所得到的错误是,你的选择是更新的变量,而在同一时间随地吐痰的resutls。
拆分查询如下:
The error you are getting is that your select is updating a variable while spitting out the resutls at the same time. Split up your queries as follows:
ALTER PROC [Admin].[sp_Ques]
(
@QuesID bigint
)
AS
BEGIN
DECLARE @Lang int -- ERROR HERE
IF @QuesID = 0
SET @QuesID =NULL
SELECT TOP 1 @Lang=FQ.AdminLanguageID
FROM Admin.Ques FQ
LEFT OUTER JOIN Admin.QuesTypes FQT ON FQT.QuesTypeID=FQ.QuesTypeID
WHERE FQ.QuesID = Coalesce(@QuesID,QuesID)
SELECT TOP 1 FQ.QuesID, FQ.Ques,QuesAns as QuesAns,FQ.QuesAns[Answers], FQT.QuesType ,FQ.QuesTypeID, FQ.QuesParentID, FQ.Active,FQ.AdminLanguageID
FROM Admin.Ques FQ
LEFT OUTER JOIN Admin.QuesTypes FQT ON FQT.QuesTypeID=FQ.QuesTypeID
WHERE FQ.QuesID = Coalesce(@QuesID,QuesID)
SELECT TelerikLanguage FROM Admin.Language
WHERE AdminLanguageID=@Lang
END