Wenn Sie eine gespeicherte Prozedur aufrufen, um Ihre Ergebnismenge zurückzugeben, müssen Sie nur einen Parameter festlegen, welche Version der Abfrage ausgeführt werden soll. Halten Sie die Ergebnismengenspalten und ihre Typen gleich.
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