Provided by: grass-doc_6.4.3-3_all bug

NAME

       v.db.update  - Updates a column in the attribute table connected to a vector map.

KEYWORDS

       vector, database, attribute table

SYNOPSIS

       v.db.update
       v.db.update help
       v.db.update  map=string   [layer=string]  column=string  [value=string]   [qcolumn=string]
       [where=string]   [--verbose]  [--quiet]

   Parameters:
       map=string
           Vector map to edit the attribute table for

       layer=string
           Layer to which the table to be changed is connected
           Default: 1

       column=string
           Column to update

       value=string
           Literal value to update the column with
           Varchar values must be in single quotes, e.g. 'grass'

       qcolumn=string
           Name of attribute column to query
           Can be a combination of columns, e.g. col1+col2

       where=string
           WHERE conditions for update, without 'where' keyword (e.g. cat=1 or col1/col2>1)

DESCRIPTION

       v.db.update assigns a new value to a column in the attribute table connected  to  a  given
       map.  The  value  parameter  updates  with  a  literal value. Alternatively, with the qcol
       parameter values can be copied from another column in the table or  be  the  result  of  a
       combination or transformation of other columns.

NOTES

       v.db.update is just a front-end to db.execute to allow easier usage.

       For complex SQL UPDATE statements, db.execute should be used.

EXAMPLES

       In this example, selectively display lakes without (blue) and with NULL (red) are shown to
       find out which type is undefined. In the  original  map  there  are  lakes  missing  FTYPE
       attribute  which  are  wetlands along streams. These NULL attributes are replaced with the
       landuse type WETLAND:
       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 mylakes

       Spearfish 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 myfields

       Type 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.addcol,   v.db.addtable,  v.db.connect,  v.db.droptable,  v.db.join,
       v.db.select
       GRASS SQL interface

AUTHOR

       Moritz Lennert (mlennert@club.worldonline.be)

       Last changed: $Date: 2013-05-02 02:29:18 -0700 (Thu, 02 May 2013) $

       Full index

       © 2003-2013 GRASS Development Team