Freigeben über


DELETED( )-Funktion

Gibt einen logischen Wert zurück, der anzeigt, ob der aktuelle Datensatz zum Löschen markiert ist.

DELETED([cTableAlias | nWorkArea])

Rückgabewerte

Logisch

Parameter

  • cTableAlias | nWorkArea
    Sie können den Status einer in einem anderen Arbeitsbereich geöffneten Tabelle überprüfen, indem Sie die Arbeitsbereichsnummer für nWorkArea oder den Alias der Tabelle für cTableAlias angeben. Ist im angegebenen Arbeitsbereich keine Tabelle geöffnet, gibt DELETED( ) Falsch (.F.) zurück.

    Wenn Sie cTableAlias und nWorkArea nicht angeben, wird der Löschstatus für den aktuellen Datensatz im aktuellen Arbeitsbereich zurückgegeben.

Hinweise

Ist der Datensatz zum Löschen markiert, gibt DELETED( ) den Wert Wahr (.T.), andernfalls den Wert Falsch (.F.) zurück.

Datensätze können mit DELETE und DELETE – SQL zum Löschen markiert werden. Diese Markierung kann mit RECALL wieder aufgehoben werden.

Ist die Tabelle nach DELETED( ) indiziert, werden Abfragen, bei denen der Status von Datensätzen geprüft wird, mit Hilfe des Rushmore-Verfahrens optimiert.

Weitere Informationen zu mit Hilfe von Rushmore optimierbaren Abfragen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.

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. Diese Datensätze werden mit DELETED( ) angezeigt. Anschließend wird die Markierung 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 | RECALL | SET DELETED