sql - After splitting the string have to insert in to table column -


i have split function:

create function splitstring     (@input nvarchar(max),      @character char(1)) returns @output table (item nvarchar(1000)) begin     declare @startindex int, @endindex int      set @startindex = 1      if substring(@input, len(@input) - 1, len(@input)) <> @character     begin         set @input = @input + @character     end      while charindex(@character, @input) > 0     begin         set @endindex = charindex(@character, @input)          insert @output(item)             select substring(@input, @startindex, @endindex - 1)          set @input = substring(@input, @endindex + 1, len(@input))     end      return end go 

i want use function in stored procedure, procedure doing insert:

insert table1 (key, description)  values (select ident_current('table2'),         select item webreports.splitstring('a','b','c') ) 

the target table has 2 columns key , description. key column sourced other identity column table, , description column inserted result of function, sub-string.

the procedure not working properly.

no need use values:

insert table1 ([key], descrption)  select      ident_current('table2'),      item  dbo.splitstring('a,b,c', ',') 

as side note, splitstring function not optimal. should doing set-based fashion rather rbar. aaron bertrand wrote article on different ways split strings. can read here.


Comments