Potresti fare una Stored Procedure con una stringa, che compone la query con i parametri che gli passi.
Una mia di esempio:
codice:
...PROCEDURE [dbo].[p_ListaNews]
(
@p_IDNews numeric(4)
)
AS
BEGIN
declare @strQuery varchar(1024)
set @strQuery = 'SELECT ID,TESTO,DATA_INSERIMENTO FROM STORICO_NEWS WHERE 1=1'
IF @p_IDNews IS NOT NULL AND @p_IDNews > 0
BEGIN
set @strQuery = @strQuery + ' AND ID=' + CONVERT(VARCHAR, @p_IdNews)
set @strQuery = @strQuery + ' ORDER BY DATA_INSERIMENTO DESC'
END
EXECUTE(@strQuery)
END