>ho seguito il tuo consiglio e va tutto bene.
Bene, bravo! 
>
>Adesso la questione si complica in quanto la WHERE dev'essere
>dinamica, nel senso che se almeno una ddl ha un valore devo usare
>la WHERE attraverso l'IF.
>Però, a priori non so quali sono i campi che devo controllare
>nella WHERE.
>Pensavo di creare una WHERE attraverso una Variabile, però non
>so la sintassi all'interno della SP e come si dichiara.
>
>Suggerimenti?
Inizio con il dirti che è una pratica quella che ti andrò a spiegare che si dovrebbe sempre cercare di evitare, dovresti cercare di trovare una via di mezzo con il tuo "cliente" per trovare la maniera di non avere tutta questa elasticità, o per lo meno devi conoscere su quali e quante colonne fare i filtri, fatto questo puoi adottare la seguente soluzione:
CREATE PROCEDURE dbo.TestFiltri
@col1 varchar(50) = NULL,
@col2 int = NULL,
@col3 money = NULL,
@col4 varchar(100) = NULL
AS
BEGIN
SELECT
*
FROM
dbo.tabella
WHERE
(@col1 IS NULL OR col1 = @col1)
AND (@col2 IS NULL OR col2 = @col2)
AND (@col3 IS NULL OR col3 = @col3)
AND (@col4 IS NULL OR col4 = @col4)
END
GO
In questo modo, se i parametri non vengono passati, è come se facessi una query senza di essi, altrimenti puoi passarne, ma non è obbligatorio passarli tutti.
>
>Gaetano
Enjoy It 
- Michael -
http://blogs.dotnethell.it/Regulator/