2010-03-01 15 views

回答

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