我有以下標量函數,但問題是它不返回實際結果,但返回查詢。這是什麼動態查詢丟失,並不返回結果?
難道有人會指引我嗎?我在這裏失蹤或做錯了什麼?
我已經形成了以下功能
ALTER function test(@QueId int, @Answer varchar(250)) RETURNS VARCHAR(500) AS
BEGIN
DECLARE @STR varchar(4000)
DECLARE @QRY AS VARCHAR(1000)
SELECT @QRY=
'SELECT @str = COALESCE(@str + '';'','''') + AnswerText '+
'FROM SurveyQuestionAnswerTypes WHERE AnswerType=(Select AnswerType From SurveyQuestions Where QuestionID=' +
CAST(@QueId AS VARCHAR(4)) + ')AND AnswerValue in (' + replace(@Answer,'^',',') +')'
--EXEC sp_executesql @QRY, '@STR VARCHAR(4000)', @STR
RETURN @QRY
END
而不是返回的結果返回
SELECT @str = COALESCE(@str + ';','') + AnswerText
FROM SurveyQuestionAnswerTypes
WHERE AnswerType = (Select AnswerType
From SurveyQuestions
Where QuestionID=25)AND AnswerValue in (3,4,5,6)
真正的你,但是當我所以這樣就引發錯誤,只有功能和一些擴展存儲過程可以從函數中執行。 – NoviceToDotNet
@NoviceToDotNet:可能**功能**是錯誤的方式去 - 嘗試將其轉換爲存儲過程。功能在他們可以做什麼(或不能做什麼)方面有很多限制 –
是的你是正確的,我在網上學到了很多東西,但是我應該做什麼,然後我需要從我的角度來看這個概念,但是問題是如何從視圖中調用SP,我應該怎麼做.. – NoviceToDotNet