DBUPDATE
Name
DBUPDATE
Purpose
Update columns of data in a database -- inverse of DBEXT
Explanation
Database must be open for update before calling DBUPDATE
Calling Sequence
dbupdate, list, items, v1, [ v2, v3, v4......v14 ]
Inputs
list - entries in database to be updated, scalar or vector
If list=-1 then all entries will be updated
items -standard list of items that will be updated.
v1,v2....v14 - vectors containing values for specified items. The
number of vectors supplied must equal the number of items
specified. The number of elements in each vector should be
the same.
Optional Keyword Input
/NOINDEX - If set, then DBUPDATE will not update the index file. This
keyword is useful to save if additional updates will occur,
and the index file need only be updated on the last call.
Examples
A database STAR contains RA and DEC in radians, convert to degrees
IDL> !PRIV=2 & dbopen,'STAR',1 ;Open database for update
IDL> dbext,-1,'RA,DEC',ra,dec ;Extract RA and DEC, all entries
IDL> ra = ra*!RADEG & dec=dec*!RADEG ;Convert to degrees
IDL> dbupdate,-1,'RA,DEC',ra,dec ;Update database with new values
Notes
It is quicker to update several items simultaneously rather than use
repeated calls to DBUPDATE.
It is possible to update multiple valued items. In this case, the
input vector should be of dimension (NVAL,NLIST) where NVAL is the
number of values per item, and NLIST is the number of entries to be
updated. This vector will be temporarily transposed by DBUPDATE but
will be restored before DBUPDATE exits.
Revision History
Written W. Landsman STX March, 1989
Work for multiple valued items May, 1991
String arrays no longer need to be fixed length December 1992
Transpose multiple array items back on output December 1993
Faster update of external databases on big endian machines November 1997
Converted to IDL V5.0 W. Landsman 24-Nov-1997
Added /NOINDEX keyword W. Landsman July 2001