Provided by: grass-doc_7.6.0-1_all bug


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


       vector, attribute table, database


       v.db.update --help
       v.db.update   map=name   layer=string  column=name   [value=string]    [query_column=name]
       [where=sql_query]   [sqliteextra=name]   [--help]  [--verbose]  [--quiet]  [--ui]

           Print usage summary

           Verbose module output

           Quiet module output

           Force launching GUI dialog

       map=name [required]
           Name of vector map
           Or data source for direct OGR access

       layer=string [required]
           Layer number or name
           Vector features can have category values in different layers. This  number  determines
           which layer to use. When used with direct OGR access this is the layer name.
           Default: 1

       column=name [required]
           Name of attribute column to update

           Literal value to update the column with

           Name of other attribute column to query, can be combination of columns (e.g. co1+col2)

           WHERE conditions of SQL statement without ’where’ keyword
           Example: income < 1000 and population >= 10000

           Name of SQLite extension file for extra functions (SQLite backend only)


       v.db.update  assigns  a  new value to a column in the attribute table connected to a given
       map. The value parameter allows updating 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.


       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.


   Replacing of NULL values
       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 mylakes mylakes where="FTYPE IS NULL"
       # display the lakes, show undefined FTYPE lakes in red
       g.region vector=mylakes
       d.mon wx0
       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" mylakes

   Updating of columns with on the fly calculation
       Spearfish example: adding new column, copying values from another table column with on the
       fly calculation:
       g.copy vect=fields,myfields
       v.db.addcolumn myfields col="polynum integer"
       v.db.update myfields col=polynum qcol="cat*2" myfields

   Type casting
       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’"

   Updating of columns with on the fly calculation (SQLite extended functions)
       Note: this requires SQLite  extended  functions.  For  details  see  the  GRASS  GIS  Wiki
       (compilation of and libsqlitefunctions.dll).

       North  Carolina  data  set  example:  adding new column, copying values from another table
       column with on the fly calculation:
       g.copy vect=precip_30ynormals,myprecip_30ynormals
       v.db.addcolumn myprecip_30ynormals column="logjuly double precision"
       v.db.update myprecip_30ynormals column="logjuly" query_column="log(jul)" \
         sqliteextra=$HOME/sqlite_extensions/ myprecip_30ynormals columns=jul,logjuly


         db.execute,  v.db.addcolumn,  v.db.addtable,  v.db.connect,  v.db.droptable,  v.db.join,
       GRASS SQL interface


       Moritz Lennert (

       Last changed: $Date: 2017-03-12 11:58:07 +0100 (Sun, 12 Mar 2017) $


       Available at: v.db.update source code (history)

       Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

       © 2003-2019 GRASS Development Team, GRASS GIS 7.6.0 Reference Manual