2009-05-29 73 views

回答

1

如果您調用存儲過程來返回結果集,只需要有一個參數來確定要運行的查詢的版本。保持結果集列和它們的類型相同。

create procedure YourReportProcedure 
(
    @ReportVersion char(1) 
    ,@filterParam1  varchar(12) 
    ,@filterParam2  int 
    .... 
) 

if @ReportVersion='A' 
BEGIN 
    SELECT 
     A,B,C 
     FROM ..... 
     WHERE [email protected] and [email protected] 

END 
ELSE [email protected]='C' 
BEGIN 
    SELECT 
     A,B,C 
     FROM ..... 
     WHERE g>@filterParam1 and r<@filterParam2 

END 
ELSE 
BEGIN 
    return 1 --error 
END 

return 0 

go 
相關問題