RECALL-Befehl
Hebt die Markierung von Datensätzen auf, die in der ausgewählten Tabelle zum Löschen markiert sind.
RECALL [Scope] [FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
[IN nWorkArea | cTableAlias]
Parameter
Scope
Gibt einen Bereich von Datensätzen an, die wiederhergestellt werden sollen. Nur Datensätze im angegebenen Bereich werden wieder aktiviert. Die Bereichsklauseln sind: ALL, NEXT nRecords, RECORD nRecordNumber und REST. Weitere Informationen zu Bereichsklauseln finden Sie unter Bereichsklauseln und Überblick über die Sprache.Der Standardbereich für RECALL ist der aktuelle Datensatz (NEXT 1).
FOR lExpression1
Gibt an, dass nur diejenigen Datensätze, für die lExpression1 gleich Wahr (.T.) ist, wieder aktiviert werden. So können Sie die nicht erwünschten Datensätze herausfiltern.Rushmore optimiert eine RECALL FOR-Abfrage, wenn lExpression1 ein optimierbarer Ausdruck ist. Die beste Leistung erreichen Sie, indem Sie in der FOR-Klausel einen optimierbaren Ausdruck verwenden.
Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.
WHILE lExpression2
Bezeichnet eine Bedingung, gemäß derer solange Datensätze aktiviert werden, wie die Auswertung des logischen Ausdrucks lExpression2 Wahr (.T.) ergibt.NOOPTIMIZE
Deaktiviert die Rushmore-Optimierung für RECALL.Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.
IN nWorkArea cTableAlias
Gibt den Arbeitsbereich oder Tabellenalias an, auf den sich der RECALL-Befehl auswirkt. Verwenden Sie diese Klausel zum Angeben eines Arbeitsbereichs oder einer Tabelle außerhalb des aktuellen Arbeitsbereichs.
Hinweise
Sie können mit RECALL Datensätze wiederherstellen, solange Sie nicht den PACK- oder ZAP-Befehl eingeben.
Vorsicht Sobald eine Datei komprimiert wird, gehen alle zum Löschen markierten Datensätze endgültig verloren.
Sie können Datensätze zum Löschen markieren, indem Sie den DELETE- oder DELETE – SQL-Befehl angeben, oder indem Sie aus dem Menü Tabelle den Befehl Datensätze löschen wählen, wenn ein Datenblattfenster oder ein Bearbeitungsfenster aktiv ist. Sie können Datensätze wieder von einer Löschmarkierung befreien, indem Sie in einem Datenblattfenster oder einem Bearbeitungsfenster den Befehl RECALL eingeben oder aus dem Menü Tabelle den Befehl Löschen rückgängig wählen.
Wenn Sie die IN-Klausel weglassen, dann funktioniert der RECALL-Befehl im aktuellen Arbeitsbereich.
Beispiel
Im folgenden Beispiel wird die Tabelle customer
in der Datenbank testdata
geöffnet. Mit DELETE – SQL werden alle Datensätze zum Löschen markiert, bei denen das Feld country
den Wert USA enthält. Alle zum Löschen markierte Datensätze werden angezeigt. Anschließend wird die Markierung der zum Löschen markierten Datensätze mit RECALL ALL wieder aufgehoben.
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'data\testdata')
USE customer && Opens Customer table
DELETE FROM customer WHERE country = 'USA' && Mark for deletion
CLEAR
LIST FIELDS company, country FOR DELETED( ) && List marked records
RECALL ALL && Unmark all records marked for deletion
Siehe auch
DELETE | DELETE – SQL | PACK | SET DELETED | ZAP