Partager via


ReuseWhere, fonction

La clause WHERE d’une requête spécifie un ensemble d’éléments sur lesquels faire correspondre 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. Dans l’ensemble de lignes retourné, vous obtenez un ID Where, 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 le Query1WhereID de l’étape 2 :

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

La deuxième requête est équivalente à 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 .

Informations de référence

Clause WHERE

Propriétés du rowset