Deletes all records from a data file, a HFSQL view or a query. The records are deleted logically and physically. They cannot be restored.
The following operations are performed:
- the records are deleted: the records are not referenced in the index anymore. The data is not kept.
- the indexes (corresponding to the keys of the records) are deleted from the index file.
- the memos associated with the records are deleted from the memo file.
- the automatic identifiers are re-initialized.
Caution: the integrity is not checked.
WINDEV, WINDEV Mobile and WEBDEV propose an automatic management of errors for the following types of errors: Duplicate error, integrity error, password error, modification conflict error and status error during modification conflict, lock error. See Assisted management of HFSQL errors
for more details.
Remark: From version 19, HFSQL is the new name of HyperFileSQL.
// Clears the file without re-creating it
<Result> = HDeleteAll(<File name>)
- True if the records have been deleted,
- False if a problem occurred (locked record, record in transaction, ...). HErrorInfo is used to identify the error.
<File name>: Character string (with or without quotes)
Name of HFSQL data file, HFSQL view or query used.
Deleting records from a query
If the query was created by using the hModifyFile
deletes the records from the source of the query.
Deleting records from a HFSQL viewHDeleteAll
deletes the records from the view but it does not delete the records from the data file used for the view.
Deleting records from a transactionHDeleteAll
does not delete the records found in a transaction (canceled or validated).
Benefits compared to a loop for deleting records
To delete the records from a data file, you also have the ability to perform a loop for deleting records (HDelete
). For example:
FOR EACH CustNum OF Orders
presents the following benefits:
- the process is faster
- the size of empty data file is smaller.
Benefit compared to the use of HCreation
To delete the records from a data file, you also have the ability to use HCreation
Using HDeleteAll presents the following benefits:
- Deletion possible even if users are connected to the data file.
- Automatic management of HFSQL errors.