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
undrating.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
undYEARSOLD
. Diese strukturierte CDX-Datei wird automatisch zusammen mit der Tabellevideo
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, umrating.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 nWorkAreacTableAlias
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.