2015-03-31 7 views
0

Мне нужна помощь в выборке записей с помощью хранимой процедуры, где мне нужно передать один параметр из хранимой процедуры, но мне нужно получить как семестровые записиПередача параметров для хранимых процедур

Declare @sem varchar(10) 

set @sem ='1sem' 

Ex: выберите * от студента, где TestType = «1sem»

set @sem ='2sem' 
select * from student where TestType = '2sem' 

set @sem ='dual' 

Если мне нужно выбрать как 1-й и 2-СЭМ СЭМ, у меня есть только один параметр, но как справиться с этим с хранимой процедурой.

Select * 
from student 
where TestType where? 

Как можно достичь

select * 
from student 
where TestType = '1sem' or TestType = '2sem' 

ответ

0

вы можете попытаться разделить значение TestType с "" (запятая)

затем изменить SQL:

set @sem = '1sem, 2sem' 
set @sql = 'select * from student where testype in ('[email protected]+')' 
execute sp_executesql @sql 
0

ты по может использовать что-то вроде этого

DECLARE @sem VARCHAR(10) = '1sem'; 
select * from student where testype = @sem OR (@sem = 'dual' AND testype IN '1sem','2sem'); 
0

Вы должны объявить @sem в виде таблицы и вставить запись

DECLARE @sem TABLE 
(
    Testype VARCHAR(50), 
) 

INSERT INTO @sem 
select Testype from student where TestType = '1sem' or TestType = '2sem' 
Смежные вопросы