Так что есть Sybase ХП, которая принимает 1 параметр это разделенный запятыми список строк и выполняет запрос с ин в IN() пункта:Как передать список, разделенный запятой, в хранимую процедуру?
CREATE PROCEDURE getSomething @keyList varchar(4096)
AS
SELECT * FROM mytbl WHERE name IN (@keyList)
Как я называю хранимая процедура с более 1 в списке? До сих пор я пытался
exec getSomething 'John' -- works but only 1 value
exec getSomething 'John','Tom' -- doesn't work - expects two variables
exec getSomething "'John','Tom'" -- doesn't work - doesn't find anything
exec getSomething '"John","Tom"' -- doesn't work - doesn't find anything
exec getSomething '\'John\',\'Tom\'' -- doesn't work - syntax error
EDIT: Я на самом деле нашел page, который имеет большую ссылку различных способов па массива в sproc
Надеюсь, вы нашли метод, который сработал для вас. Связанная страница - хороший список опций, но я рад видеть, что большинство из них уже предложено здесь! Пол предложил метод 2/3, временные таблицы. Я предложил метод 1, динамический sql. Брайан и Абель предлагают метод XML, хотя я не лицензирован для xml в sybase, поэтому не знаю, будет ли это работать в Sybase. Как и в методе 4. – AdamH 2009-08-21 13:17:35
Возможный дубликат [Параметрирование предложения SQL IN?] (Http://stackoverflow.com/questions/337704/parameterizing-an-sql-in-clause) – icc97 2014-02-04 15:19:53