Sybase передает список значений в 1 параметре - PullRequest
0 голосов
/ 01 марта 2010

Возможно ли это? ВЫЗОВ «DBA». «Store_proc» («iParameter» = «значение1», «значение1», «значение1», «значение1», «значение1») Или как сделать это возможным

1 Ответ

0 голосов
/ 01 марта 2010

Параметры должны иметь системный тип данных (кроме текста или изображения) или определенный пользователем тип данных. Я не думаю, что есть тип данных, который может содержать список значений.

Однако вы можете использовать параметр по умолчанию, который включает подстановочный знак (%) - если процедура использует параметр с ключевым словом like.

Например, вы можете создать процедуру для отображения информации о системных таблицах, если пользователь не предоставляет параметр, например:

create procedure showind4 
@table varchar(30) = "sys%" as 
select table_name = sysobjects.name, 
    index_name = sysindexes.name, 
    index_id = indid
from sysindexes, sysobjects 
where sysobjects.name like @table 
and sysobjects.id = sysindexes.id 

Кроме того, вы можете передать подходящие параметры для запроса, который возвращает этот список значений, а затем создать временную таблицу (внутри хранимой процедуры) и заполнить ее списком значений с помощью запроса select into. Подробнее о временных таблицах в хранимых процедурах см. здесь

...