Я не уверен, что вы после, но если вы хотите в основном передать в SQL массив целых чисел, вы подумали о том, чтобы передать имеющуюся строку (которая, кажется, в значениях, разделенных запятыми), а затем разбить их назначения, которые вам нужны внутри SQL.Затем поместите их в нужную таблицу.
Мне пришлось сделать нечто подобное пару дней назад, но это было с базой данных Oracle, у которой нет функции разделения, поэтому пришлось ее создавать.Код ниже, у вас не должно возникнуть проблем с переводом его на SQL Server.
CREATE OR REPLACE PACKAGE SPLIT_FNC IS
-- Create a Type to be used as a temp table
TYPE strArray IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
FUNCTION SPLIT_STR(word IN VARCHAR2) RETURN strArray;
END;
CREATE OR REPLACE PACKAGE BODY SPLIT_FNC IS
FUNCTION SPLIT_STR(word IN VARCHAR2) RETURN strArray IS items strArray;
temp NUMBER;
delim CHAR := ',';
start_index NUMBER := 1;
end_index NUMBER := -1;
BEGIN
temp := 1;
-- If INSTR can not find a match it will return 0
WHILE end_index != 0 LOOP
-- Find location of next comma
end_index := INSTR(word, delim, start_index, 1);
CASE
WHEN
end_index = 0
THEN
-- Catch the last value
items(temp) := SUBSTR(word, start_index);
ELSE
-- Get substring of start to next comma
items(temp) := SUBSTR(word, start_index, end_index - start_index);
END CASE;
start_index := end_index + 1;
temp := temp + 1;
END LOOP;
RETURN items;
END SPLIT_STR;
END SPLIT_FNC;
Надеюсь, это полезно - Ankou