Freigeben über


ReuseWhere-Funktion

Die WHERE--Klausel in einer Abfrage gibt einen Satz von Elementen an, mit denen Ergebnisse abgeglichen werden sollen. Nachfolgende Abfragen können die für eine vorherige Abfrage ausgeführte Arbeit freigeben, indem sie die Funktion "ReuseWhere" in einer neuen WHERE-Abfrageklausel verwenden. Abfragen, die diese Funktion nutzen, werden schneller ausgeführt.

Beispiele

Das folgende Szenario zeigt, wie Die Funktion "ReuseWhere" verwendet wird:

  1. Sie stellen die folgende Abfrage aus:

    SELECT System.ItemName FROM SystemIndex 
    WHERE CONTAINS(*, 'pencil') AND System.ItemDate > '2007-3-5'
    
  2. Aus dem zurückgegebenen Rowset erhalten Sie eine Where ID, Query1WhereID.

    Die Where-ID ist eine Rowset-Eigenschaft mit PROPSET {aa6ee6b0-e828-11d0-b2-3e-00-aa-00-47-fc-01}, PROPID 8 und Typ UI4.

  3. Sie stellen eine zweite Abfrage mit der Funktion "ReuseWhere" aus, und übergeben Sie die Query1WhereID- aus Schritt 2:

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

Die zweite Abfrage entspricht folgendem:

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

Die ReuseWhere-Funktion kann an einer beliebigen Stelle in der WHERE-Klausel verwendet werden.

Referenz-

WHERE-Klausel

Rowset-Eigenschaften