J'ai quelque chose de similaire à la clause WHERE
suivante dans mon instruction SQL:Une meilleure façon d'écrire cette clause SQL where
AND (ipdp.UserID!=dbo.fn_userid(ipdp.ItemID) OR dbo.fn_userid(ipdp.ItemID) IS NULL)
Cependant, je n'aime pas comment dbo.fn_userid
fonction est couru deux fois. Comment puis-je améliorer cette ligne de code pour qu'elle ne soit exécutée qu'une seule fois?
ipdp.UserID
est toujours une valeur Integer non NULL
dbo.fn_userid
peut retourner une valeur NULL ou une valeur entière
Cheers.
Etes-vous sûr qu'il fonctionne deux fois? La fonction a-t-elle des effets secondaires ou est-ce qu'elle ne fait que répéter une valeur à une autre de façon répétitive? – Rup
C'est dans ma clause WHERE à deux reprises, donc à ma connaissance, il fonctionne deux fois? La même valeur de paramètre est passée les deux fois donc je voudrais réduire cette utilisation. – Curt
Dans votre code ci-dessus, la fonction sera exécutée deux fois seulement si le test dans le() est faux. Pourriez-vous montrer plus de la clause where? –