Freigeben über


SET ORDER-Befehl

Gibt eine Hauptindexdatei oder einen Hauptindexschlüssel für eine Tabelle an.

SET ORDER TO [nIndexNumber | IDXIndexFileName | [TAG] TagName 
   [OF CDXFileName] [IN nWorkArea | cTableAlias]
   [ASCENDING | DESCENDING]]

Parameter

  • nIndexNumber
    Gibt die Nummer der Hauptindexdatei oder des Hauptindexschlüssels an. nIndexNumber bezieht sich auf die Indexdateien, wie diese in USE oder SET INDEX aufgelistet sind. Geöffnete IDX-Dateien werden zunächst in der Reihenfolge nummeriert, in der sie in USE oder SET INDEX vorkommen. Danach werden Indexnamen in der strukturierten CDX-Datei (falls vorhanden) in der Reihenfolge nummeriert, in der sie erstellt wurden. Zum Schluss werden die Indexnamen in allen geöffneten unabhängigen CDX-Dateien in der Reihenfolge ihrer Erstellung nummeriert.

    Das folgende Beispiel veranschaulicht, wie verschiedene Indexdateitypen und Schlüssel nummeriert werden. (Die Dateinamen dienen nur der Veranschaulichung und sind nicht notwendigerweise vorhanden.) Eine Tabelle mit dem Namen video.dbf wird mit drei Indizes (title.idx, costs.cdx und rating.idx) im ersten Arbeitsbereich mit diesem Befehl geöffnet:

    USE video INDEX title.idx, costs.cdx, rating.idx IN 1
    

    Die Tabelle video besitzt eine strukturierte Mehrfachindexdatei (video.cdx ) mit zwei Schlüsseln, NUMBERSOLD und YEARSOLD. Diese strukturierte CDX-Datei wird automatisch zusammen mit der Tabelle video geöffnet.

    Da IDX-Dateien zuerst nummeriert werden, geben Sie SET ORDER TO 1 ein, um title.idx zum Hauptindex zu machen, oder geben Sie SET ORDER TO 2 ein, um rating.idx zum Hauptindex zu machen:

    SET ORDER TO 1
    Controlling index: C:\FOX30\TITLE.IDX 
    SET ORDER TO 2
    Controlling index: C:\FOX30\RATING.IDX 
    

    Als Nächstes werden die Schlüssel in video.cdx nummeriert:

    SET ORDER TO 3
    Controlling index: C:\FOX30\VIDEO.CDX  Tag: NUMBERSOLD 
    SET ORDER TO 4
    Controlling index: C:\FOX30\VIDEO.CDX  Tag: YEARSOLD 
    

    Schließlich werden die Schlüssel der unabhängigen Datei costs.cdx nummeriert:

    SET ORDER TO 5
    Controlling index: C:\FOX30\COSTS.CDX  Tag: RENTALCOST
    SET ORDER TO 6
    Controlling index: C:\FOX30\COSTS.CDX  Tag: BUYCOST
    

    nIndexNumber kann auch 0 sein. Wenn Sie SET ORDER TO 0 eingeben, bleiben alle Indexdateien geöffnet und werden aktualisiert, wenn Datensätze hinzugefügt, gelöscht oder geändert werden. Die Datensätze der Tabelle werden jedoch entsprechend ihrer Nummern angezeigt, nicht entsprechend einer Indexreihenfolge, und in dieser Reihenfolge erfolgt auch der Zugriff auf die Datensätze. Die Eingabe von SET ORDER TO ohne weitere Argumente ist identisch mit SET ORDER TO 0.

    Wenn nIndexNumber größer ist als die Anzahl der IDX-Dateien und CDX-Dateischlüssel, generiert Visual FoxPro eine Fehlermeldung.

  • IDXIndexFileName
    Gibt eine IDX-Datei als Hauptindexdatei an.

  • [TAG] TagName [OF CDXFileName]
    Gibt den Schlüssel einer CDX-Datei als Hauptschlüssel an. Der Indexname kann aus einer strukturierten CDX-Datei oder aus einer geöffneten unabhängigen CDX-Datei stammen.

    Wenn identische Indexnamen in geöffneten unabhängigen CDX-Dateien vorhanden sind, verwenden Sie OF CDXFileName, um die CDX-Datei anzugeben, in der sich der Indexname befindet.

    Anmerkung   Bei Namensübereinstimmungen zwischen IDX-Dateien und Indexnamen hat die IDX-Datei Vorrang.

  • IN nWorkArea cTableAlias
    Gibt eine Hauptindexdatei oder einen Hauptindexschlüssel für eine Tabelle an, die in einem anderen als dem gerade gewählten Arbeitsbereich geöffnet ist. nWorkArea gibt die Arbeitsbereichnummer und cTableAlias den Tabellenalias an.

  • ASCENDING | DESCENDING
    Zeigt Tabellendatensätze in aufsteigender oder absteigender Reihenfolge an und ermöglicht den Zugriff auf die Datensätze ebenfalls in aufsteigender oder absteigender Reihenfolge. Durch Angabe von ASCENDING oder DESCENDING werden die Indexdatei oder der Indexschlüssel selbst nicht geändert.

Hinweise

Eine Tabelle kann mehrere Indexdateien gleichzeitig geöffnet haben. Jedoch bestimmt nur eine Einfachindexdatei (IDX) - die Hauptindexdatei - oder ein Indexschlüssel einer Mehrfachindexdatei (CDX) - der Hauptindexschlüssel - die Reihenfolge, in der die Datensätze einer Tabelle angezeigt werden bzw. in der der Zugriff auf diese erfolgt. Mit SET ORDER können Sie die Hauptindexdatei bzw. den Hauptindexschlüssel festlegen. Bestimmte Befehle (beispielsweise SEEK) verwenden diese Hauptindexdatei bzw. diesen Hauptindexschlüssel zur Datensatzsuche.

Durch Angeben der INDEX-Klausel im USE-Befehl können Indexdateien mit einer Tabelle geöffnet werden. Besitzt eine Tabelle eine zugehörige strukturierte CDX-Datei, wird diese automatisch mit der Tabelle geöffnet. Nach dem Öffnen einer Tabelle können Sie mit SET INDEX Indexdateien für die Tabelle öffnen und schließen.

Standardmäßig legt SET ORDER den Hauptindex bzw. Hauptschlüssel für die Tabelle fest, die im gerade gewählten Arbeitsbereich geöffnet ist.

Siehe auch

INDEX | ORDER( ) | SET INDEX