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

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

insert into tblAccessRights (roleid,customerid,SubcustomerId)
values(@_roleid,@CustomerId,@SubcustomerId,)

в приведенном выше запросе @SubcustomerId является параметром, который будет содержать несколько выбранных значений из списка флажков, поэтому теперь запись должна выглядеть следующим образом:

roleid customerid subcustomerid
 1        2           6
 1        2           7
 1        2           8

этот subcustomerid - это несколько выбранных значений из флажка, как я могу добиться этого с одним параметром, если есть другой способ сделать это, пожалуйста, ответьте

Можно ли это сделать с помощью динамического запроса, если я возьму значение списка флажков в виде строки, разделенной запятыми, и, соответственно, передам ее в запрос динамической вставки...


person shweta    schedule 30.01.2014    source источник
comment
я получил решение для этого, наконец, !!!! я даю свое решение для refrence   -  person shweta    schedule 30.01.2014
comment
я взял список флажков в строке как значение, разделенное запятыми, и передал его хранимой процедуре, затем я использую динамический запрос, чтобы вставить это значение следующим образом: создать таблицу tblrmp (id int identity (1,1), name varchar (20), subcat varchar(20) ) объявить @S varchar(20) установить @S = '1,2,3,4,5' объявить @sql varchar(max) в то время как len(@S) › 0 начать печать слева(@S, charindex (',', @S+',')-1) set @sql='вставить в значения tblrmp(''abc'','+left(@S, charindex(',', @S+',')- 1)+')' -- exec YourSP left(@S, charindex(',', @S+',')-1) exec(@sql) set @S = stuff(@S, 1, charindex(', ', @S+','), '') конец   -  person shweta    schedule 30.01.2014
comment
вывод: id name subcat 1 abc 1 2 abc 2 3 abc 3 4 abc 4 5 abc 5   -  person shweta    schedule 30.01.2014


Ответы (1)


я получил решение для этого, наконец, !!!! я даю свое решение для refrence

i took the check box list in string as comma separated value and pass it to stored procedure then i use dynamic query to insert this value as follow:

 
create table tblrmp
 ( id int identity (1,1),
 name varchar(20), 
subcat varchar(20) ) 

объявить @S varchar(20) установить @S = '1,2,3,4,5' объявить @sql varchar(max) в то время как len(@S) > 0 начать печатать слева(@S, charindex(',', @S+',')-1) set @sql='вставить в значения tblrmp(''abc'','+left(@S, charindex(',', @S+',')-1)+') ' exec(@sql) set @S = stuff(@S, 1, charindex(',', @S+','), '') end

вывод: id name subcat 1 abc 1 2 abc 2 3 abc 3 4 abc 4 5 abc 5

person shweta    schedule 30.01.2014