For complex SQL UPDATE statements, db.execute should be used.
g.copy vect=lakes,mylakes v.db.select mylakes v.db.select mylakes where="FTYPE IS NULL" # display the lakes, show undefined FTYPE lakes in red g.region vect=mylakes d.mon x0 d.vect mylakes where="FTYPE NOT NULL" type=area col=blue d.vect mylakes where="FTYPE IS NULL" type=area col=red # replace NULL with FTYPE WETLAND v.db.update mylakes col=FTYPE value=WETLAND \ where="FTYPE IS NULL" v.db.select mylakesSpearfish example: adding new column, copying values from other table column with on the fly calculation:
g.copy vect=fields,myfields v.db.addcol myfields col="polynum integer" v.db.update myfields col=polynum qcol="cat*2" v.db.select myfieldsType cast (type conversion) of strings to double precision (unsupported by DBF driver):
g.copy vect=geodetic_pts,mygeodetic_pts v.db.update mygeodetic_pts col=zval qcol="CAST(z_value AS double precision)" \ where="z_value <> 'N/A'"SEE ALSO
db.execute, v.db.addcolumn, v.db.addtable, v.db.connect, v.db.droptable, v.db.join, v.db.select
GRASS SQL interfaceAUTHOR
Moritz Lennert (mlennert@club.worldonline.be)Last changed: $Date$