Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

stored procedure con parametri non obbligatori

11 views
Skip to first unread message

Alessandro Lendaro

unread,
Nov 20, 2009, 1:12:01 PM11/20/09
to
temo che questo problema sia giᅵ stato affrontato, ma non ho molto
tempo per cercare nei post el passato.

ho una banale stored procedure di ricerca a cui posso passare uno o piᅵ
parametri, se non passo il parametro voglio che non ci sia un filtro
per cui uso una funzione isnull che attiva il filtro solo nel caso in
cui il parametro sia valorizzato.

es.:

CREATE PROCEDURE prc_Test
@P1 int = NULL,
@P2 nvarchar(100) = NULL,
@P3 int = NULL
AS
BEGIN
SELECT Tabella.ColonnaA, Tabella.ColonnaB, Tabella.ColonnaC
WHERE Tabella.ColonnaX = ISNULL( @P1, Tabella.ColonnaA) AND
Tabella.ColonnaY = ISNULL( @P2, Tabella.ColonnaY) AND
Tabella.ColonnaZ = ISNULL( @P3, Tabella.ColonnaZ)

tutto bellissimo, il problema ᅵ che se ad esempio il campo ColonnaX ᅵ
nullabile ed io non passo il parametro @P1 non mi recupera i record con
valore NULL mentre invece dovrebbe, perchᅵ
ColonnaX = ColonnaX
non restituisce niente se ColonnaX ᅵ NULL
(dovrebbe essere ColonnaX IS NULL).

Qualcuno ha idea di quale sia il sistema migliore per risolvere il
problema? grazie

Lorenzo Benaglia

unread,
Nov 20, 2009, 3:17:12 PM11/20/09
to
"Alessandro Lendaro" <ab...@dance.swe> wrote:
> temo che questo problema sia giᅵ stato affrontato, ma non ho molto
> tempo per cercare nei post el passato.

Ciao Alessandro,

Questo ᅵ il risultato di una ricerca di 5 secondi (giusto il tempo di
scrivere) eseguita in Google Groups:
http://groups.google.it/group/microsoft.public.it.sql/browse_thread/thread/59359884f3bc01d8/

Nel thread troverai un esempio basato sul Dynamic SQL ad opera di Itzik ed
una tecnica che utilizza una UDF inline suggerita da Marcello.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://social.microsoft.com/Forums/it-IT/sqlserverit

Alessandro Lendaro

unread,
Nov 21, 2009, 3:49:12 AM11/21/09
to
Lorenzo Benaglia ha scritto:

> Questo ᅵ il risultato di una ricerca di 5 secondi (giusto il tempo di
> scrivere) eseguita in Google Groups:

esagerato :D

> http://groups.google.it/group/microsoft.public.it.sql/browse_thread/thread/59359884f3bc01d8/
>
>
> Nel thread troverai un esempio basato sul Dynamic SQL ad opera di Itzik
> ed una tecnica che utilizza una UDF inline suggerita da Marcello.

ti ringrazio sentitamente

dawn

unread,
Nov 25, 2009, 3:28:46 AM11/25/09
to
On 20 Nov, 19:12, Alessandro Lendaro <a...@dance.swe> wrote:
>
> ho una banale stored procedure di ricerca a cui posso passare uno o più

> parametri, se non passo il parametro voglio che non ci sia un filtro
> per cui uso una funzione isnull che attiva il filtro solo nel caso in
> cui il parametro sia valorizzato.

Il più brutto, ma rapidissimo è una bella "[...] OR @P1 IS NULL" :)

0 new messages