2009-05-29 18 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 
関連する問題