需要一些存储过程的帮助
存储过程:
ALTER PROC [Admin].[sp_Ques] ( @QuesID bigint ) AS BEGIN IF @QuesID = 0 SET @QuesID =NULL SELECT FQ.QuesID, FQ.Ques,QuesAns FROM Admin.Ques FQ WHERE FQ.QuesID = Coalesce(@QuesID,QuesID) SELECT Language FROM Admin.Language WHERE LanguageID=FQ.LanguageID END
在第二个Select语句中:
SELECT Language FROM Admin.Language WHERE LanguageID=FQ.LanguageID
在这个语句中,我想从第一个选择语句中获取“FQ.LanguageID”的值,所以我写了这个: –
LanguageID=FQ.LanguageID
显然没有用。 它说“多部分标识符”FQ.LanguageID“无法绑定。”
我是否需要将此LanguageID
作为参数传递给存储过程,然后将其用作: –
SELECT Language FROM Admin.Language WHERE LanguageID=@LanguageID
如果我不想将LanguageID
作为存储过程的第二个参数传递,我该如何使这个LanguageID=FQ.LanguageID
工作? 有办法吗?
也许创建一个局部变量来保存正在检索的LanguageID。 在上一个SELECT
期间为其分配值。 TOP 1
简单地确保了如果/当你在第一个查询中有多个匹配时(实际上你将在@Ques
为零或为空时!),在该查询中只返回一个值,从而允许一个值进入你的变量。
DECLARE @Lang int --whatever datatype your QuesID is. SELECT TOP 1 FQ.QuesID, FQ.Ques,QuesAns as QuesAns, FQ.QuesAns[Answers], FQT.QuesType , FQ.QuesTypeID, FQ.QuesParentID, FQ.Active, FQ.AdminLanguageID ,@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 TelerikLanguage FROM Admin.Language WHERE AdminLanguageID=@Lang
FQ的范围仅限于第一个选择语句。
您的选择包括:
- 根据您的建议将AdminLanguageID作为参数传递
- 在先前的语句中检索AdminLanguageID(从…中选择@AdminLanguageID = AdminLanguageID)
- 使用Admin.Ques加入Admin.Language
- 使用子查询(从Admin.Language中选择…,其中AdminLanguageID在(从Admin.Ques中选择AdminLanguageID,其中……)
为什么不加入他们1选?
上述就是C#学习教程:需要一些存储过程的帮助分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
ALTER PROC [Admin].[sp_Ques] ( @QuesID bigint ) AS BEGIN IF @QuesID = 0 SET @QuesID =NULL SELECT FQ.QuesID, FQ.Ques,QuesAns as QuesAns,FQ.QuesAns[Answers], FQT.QuesType ,FQ.QuesTypeID, FQ.QuesParentID, FQ.Active,FQ.AdminLanguageID, AL.TelerikLanguage FROM Admin.Ques FQ LEFT OUTER JOIN Admin.QuesTypes FQT ON FQT.QuesTypeID=FQ.QuesTypeID LEFT JOIN Admin.Language AL ON AL.AdminLanguageID=FQ.AdminLanguageID WHERE FQ.QuesID = QuesID OR @QuesID IS NULL END
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000313.html