J'ai une requête comme suit:appel de fonction dans la clause where
SELECT * FROM Members (NOLOCK)
WHERE Phone= dbo.FormatPhone(@Phone)
Je comprends maintenant ici que la mise en forme doit être appliquée sur la variable sur la colonne. Mais devrais-je l'appliquer sur une variable pour l'assigner à une autre variable locale puis l'utiliser (comme ci-dessous).
Set @SomeVar = dbo.FormatPhone(@Phone)
SELECT *
FROM Members (NOLOCK) WHERE Phone= @SomeVar
Quelle est la meilleure façon ou les deux sont bonnes?
EDIT: Et comment est la première requête différente de
SELECT * FROM Members (NOLOCK)
WHERE dbo.FormatPhone(Phone) = @Phone
Je suis passé par la poste et il parle de ne pas utiliser NOLOCK avec des instructions Update/Insert. –
Voulez-vous dire utiliser avec (nolock) au lieu de NOLOCK? –
Avez-vous l'intention de lire des données non-officielles ou avez-vous ajouté NOLOCK comme solution de contournement pour les problèmes de concurence? –