ストアドプロシージャでSELECT ... FROM ... WHERE .. IN
クエリを実装する必要があります。WHERE ... IN ... SQL Serverストアドプロシージャの問題
は以下
ALTER PROCEDURE [dbo].[SP_GetQuestionSetMultiCat]
-- Add the parameters for the stored procedure here
@PIN varchar(50),
@CatIds varchar(50),
@Range int,
@Que_Type varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @qtId as int;
select @qtId = Que_Type_Id from dbo.QuestionType_Tbl where [email protected]_Type;
-- Insert statements for procedure here
Select Top(@Range)
QId,
Que_Type_Id,
Que_Level_Id,
Que_Category_Id,
Que,
Opt1,
Opt2,
Opt3,
Opt4,
Ans
From
dbo.Que_Tbl
Where
(Que_Category_Id in (cast(@CatIds as varchar)))
and ([email protected])
and (Qid not in (Select Que_Id From dbo.UserQuestion_Mapping where [email protected] and [email protected]))
END
ルックWHERE条件で私のストアドプロシージャのコードです。 Que_Category_Idはint型です。私が実行したいのは、 -
Where Que_Category_Id in (1,2,3,4)
です。値は、私のC#コードから変換された文字列です。
Iは次のようにこのクエリを実行していた場合 - データ型intに{4,5,6} 'VARCHAR値を変換する際
変換が失敗しました -
exec SP_GetQuestionSetMultiCat '666777','4,5,6',5,'Practice'
は、それがエラーを生成しています。
誰でもこの問題の解決方法を教えてください。
あなたの貴重な時間を共有してくれてありがとう。