Partager via


Fonction ReuseWhere

La clause WHERE dans une requête spécifie un ensemble d’éléments à mettre en correspondance les résultats. Les requêtes suivantes peuvent partager le travail effectué pour une requête précédente à l’aide de la fonction ReuseWhere dans une nouvelle clause WHERE de requête. Les requêtes qui tirent parti de cette fonction s’exécutent plus rapidement.

Exemples

Le scénario suivant montre comment utiliser la fonction ReuseWhere :

  1. Vous émettez la requête suivante :

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. À partir de l’ensemble de lignes retourné, vous obtenez un Where ID, Query1WhereID.

    L’ID Where est une propriété d’ensemble de lignes avec PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01 }, PROPID 8 et type UI4.

  3. Vous émettez une deuxième requête avec la fonction ReuseWhere, en passant l'Query1WhereID de l’étape 2 :

    SELECT System.ItemUrl FROM SystemIndex 
    WHERE ReuseWhere(Query1WhereID) AND SCOPE='file:'
    

La deuxième requête équivaut à ce qui suit :

SELECT System.ItemUrl, System.ItemName FROM SystemIndex 
WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5' AND Scope='file:'

La fonction ReuseWhere peut être utilisée n’importe où dans la clause WHERE .

de référence

clause WHERE

propriétés de l’ensemble de lignes