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