Sybase在1个参数中传递值列表

时间:2010-03-01 14:58:53

标签: sybase

有可能吗? CALL“DBA”。“stored_proc”(“iParameter”=“value1”,“value1”,“value1”,“value1”,“value1”) 或者如何使这成为可能

1 个答案:

答案 0 :(得分:0)

必须为参数指定系统数据类型(文本或图像除外)或用户定义的数据类型。我认为没有可以保存值列表的数据类型。

但是,如果过程使用带有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查询填充值列表。有关存储过程中临时表的更多信息,请参阅here