Ciao spero di essere di aiuto..
non capisco perchè devi testare nella query il parametro a null....
e perche esegui la stringa con l'execute che è molto meno performante della select ( non viene compilato l'execurtion plan e quindi tutte le volte è come sela creassi nuova... )
comunque se devi farla così pensso che :
La stored tu la richiami con "[***].[GetListino] 'parametro '" giusto ?
Quindi non credo che tu possa passare il valore NULL ma più semplicemente '' ( è un varchar ) e poi inserire la clausola
WHERE (tblCatProd.ID =@IDCP )
and ( @IDCP = '' OR tblCatProd.ID is null)
magari gestendo il NULL dal codice che richiama la stored per impostare ''
tblCatProd.ID è definito come varchar vero ? se è un INT o simile la query si può fare in modo diverso....
questa la farei così
ALTER Procedure [***].[GetListino] (
@IDCP varchar(50)
)
AS
SET NOCOUNT ON
SELECT tblCatProd.Categoria
FROM tblCatProd
WHERE tblCatProd.ID =@IDCP
and ( @IDCP = '' OR tblCatProd.ID is null)
ORDER BY tblCatProd.ID ASC'
EXECUTE(@strSQL)
SET NOCOUNT OFF
ciao
GO

Rispondi quotando