idlastro / Database Procedures: DBDELETE

[Source code]

NAME
DBDELETE
PURPOSE
Deletes specified entries from data base
CALLING SEQUENCE
DBDELETE, list, [ name, /DEBUG ]   
INPUTS
list - list of entries to be deleted, scalar or vector
name - optional name of data base, scalar string.  If not specified
        then the data base file must be previously opened for update 
        by DBOPEN.
OPERATIONAL NOTES
!PRIV must be at least 3 to execute.
SIDE EFFECTS
The data base file (ZDBASE:name.dbf) is modified by removing the
specified entries and reordering the remaining entry numbers
accordingly (ie. if you delete entry 100, it will be replaced
by entry 101 and the database will contain 1 less entry.
EXAMPLE
Delete entries in a database STARS where RA=DEC = 0.0
IDL> !PRIV= 3                           ;Set privileges
IDL> dbopen,'STARS',1                   ;Open for update
IDL> list = dbfind('ra=0.0,dec=0.0')    ;Obtain LIST vector
IDL> dbdelete, list             ;Delete specified entries from db
NOTES
The procedure is rather slow because the entire database is re-
created with the specified entries deleted.
OPTIONAL KEYWORD INPUT
DEBUG - if this keyword is set and non-zero, then additional 
       diagnostics will be printed as each entry is deleted.
COMMON BLOCKS
DBCOM
PROCEDURE CALLS
DBINDEX, DB_INFO(), DBOPEN, DBPUT, ZPARCHECK
HISTORY
Version 2  D. Lindler  July, 1989
Updated documentation   W. Landsman    December 1992
William Thompson, GSFC, 28 February 1995
                Fixed bug when external representation used.
Fixed for case where second parameter supplied W. Landsman April 1996
Use keyword DEBUG rather than !DEBUG   W. Landsman    May 1997
Don't call DBINDEX if no indexed items  W. Landsman May 2006  
Use TRUNCATE_LUN if V5.6 or later W. Landsman   Sep 2006 
Fix problem when deleting last entry   W. Landsman Mar 2007
Assume since V5.6 so TRUNCATE_LUN is available   W. Landsman