Share via


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