|
DBF DATABASE DRIVERThe DBF driver is a file based attribute table driver.Defining the DBF driverThe DBF driver is a file based driver, in theory no user interaction is required. However, if the settings should be set back from a different driver to the DBF driver, the following step is required:# keep single quotes: db.connect driver=dbf database=’$GISDBASE/$LOCATION_NAME/$MAPSET/dbf/’ db.connect -pThe dbf/ subdirectory in the mapset must exist or must be created by the user. Creating a DBF tableDBF tables are created by GRASS when generating a vector map with attributes and having defined the DBF as attribute driver.If a DBF table has to be created manually, db.execute can be used or a spreadsheet application. Also db.copy is sometimes useful as well as db.in.ogr to import external tables. Supported SQL commands by DBF driverALTER TABLE table ADD [COLUMN] columndef ALTER TABLE table DROP COLUMN colname CREATE TABLE table ( columndefs ) DROP TABLE table SELECT columns FROM table SELECT columns FROM table WHERE condition SELECT columns FROM table ORDER BY column DELETE FROM table DELETE FROM table WHERE condition INSERT INTO table VALUES (value1[,value2,...]) INSERT INTO table ( column1[,column2,...] ) VALUES (value1[,value2,...]) UPDATE table SET assignment1[,assignment2,...] UPDATE table SET assignment1[,assignment2,...] WHERE condition Operators available in conditions"=" : equal "<" : smaller than "<=" : smaller/equal than ">" : larger than ">=" : larger/equal than "<>" : not equal "~" : Substring matching (non-standard SQL) "%" : Substring matching (limited functionality) Arithmetic expressions using constants and field values are
allowed in condition clauses and in the RHS of assignments.
Conditions allow boolean expressions using the AND, OR and NOT operators, with the usual precedence rules. NULLs can be tested by ’colname IS NULL’ in conditions. The negation is ’colname NOT NULL’. Sorting: Empty fields in a character column are sorted to the end. LIMITATIONS OF THE DBF DRIVERThe DBF driver supports only a few SQL statements since the DBF tables are intended for simple table storage. DBF column names are limited to 10 characters (as defined in the DBF specifications). For example,
ERROR MESSAGESAn error message such as:DBMI-DBF driver error: SQL parser error: syntax error, unexpected NAME processing ’IN’..indicates that an unsupported SQL statement (here, ’IN’) was used. The only solution is to switch the DBMI backend to a real SQL engine (SQLite, PostgreSQL, MySQL etc.). See SQL support in GRASS GIS. An error message such as:
DBMI-DBF driver error: SQL parser error: syntax error, unexpected DESC, expecting NAME processing ’DESC’indicates that a column name corresponds to a reserved SQL word (here: ’DESC’). A different column name should be used. If this happens during import with v.in.ogr, the cnames parameter can be used to assign different column names on the fly. SEE ALSOdb.connect, SQL support in GRASS GISDBF Specifications (Shapelib) Main index | Topics index | Keywords index | Graphical index | Full index © 2003-2021 GRASS Development Team, GRASS GIS 7.8.6 Reference Manual
Visit the GSP FreeBSD Man Page Interface. |