Version 3
COPY NAMED SELECTION ({Tabellenname; }Temporäres Objekt)
Parameter | Typ | Beschreibung | |
Tabellenname | Tabelle | Tabelle, deren Auswahl kopiert wird, | |
ohne Angabe Haupttabelle | |||
Temporäres Objekt | String | Name für die temporäre Auswahl |
Beschreibung
Der Befehl COPY NAMED SELECTION legt eine temporäre Kopie der aktuellen Auswahl im laufenden Prozess an. Tabellenname ist optional. Wird der Parameter nicht angegeben, bezieht sich COPY NAMED SELECTION auf die Haupttabelle. Der Name für die temporäre Auswahl wird im zweiten Parameter übergeben. Die aktuelle Auswahl und der aktuelle Datensatz bleiben nach Ausführung von COPY NAMED SELECTION unverändert.
Eine temporäre Auswahl enthält nicht die Datensätze ansich, sondern nur eine sortierte Liste der Referenzen auf die Datensätze. Jede dieser Referenzen beansprucht 4 Bytes im Speicher. Beim Kopieren einer Auswahl mit dem Befehl COPY NAMED SELECTION werden demzufolge als Speicherplatz 4 Bytes multipliziert mit der Anzahl der Datensätze in der Auswahl benötigt.
Die temporäre Auswahl wird im Cache-Speicher gehalten. Achten Sie daher auf die Speichergröße. Bei zu vollem Speicher führt 4D diesen Befehl nicht aus, sondern zeigt den Fehler -108 an.
Mit dem Befehl CLEAR NAMED SELECTION löschen Sie das in Tabellenname übergebene Objekt der temporären Auswahl.
Beispiel
Das folgende Beispiel ermöglicht, zu prüfen, ob in der Tabelle [People] fällige Rechnungen vorhanden sind. Die Auswahl wird sortiert und dann gesichert. Wir suchen nach allen Datensätzen mit fälligen Rechnungen. Dann verwenden wir die Auswahl erneut und löschen die temporäre Auswahl im Speicher. Das Löschen ist optional, falls der Designer der Datenbank die gewählte Auswahl zur späteren Verwendung im Speicher lassen will:
ALL RECORDS([People]) `Erlaube dem Benutzer, die Auswahl zu sortieren ORDER BY([People]) ` Sichere die sortierte Auswahl als temporäre Auswahl COPY NAMED SELECTION([People];"UserSort") ` Suche nach Datensätzen mit fälligen Rechnungen QUERY([People];[People]InvoiceDue=True) ` Werden Datensätze gefunden If (Records in selection([People])>0) ` Den Benutzer informieren ALERT("Ja , es gibt fällige Rechnungen in der Tabelle.") End if ` Sortierte temporäre Auswahl wiederverwenden USE NAMED SELECTION("UserSort") ` Temporäre Auswahl aus dem Speicher entfernen CLEAR NAMED SELECTION("UserSort")
Referenz
CLEAR NAMED SELECTION, CUT NAMED SELECTION, Konventionen, USE NAMED SELECTION.