function
Library: Database access (OMDB legacy)
Include: omdb.xin |
define external function dbTableUpdate value dbTable table from read-only stream values null value stream null optional where value stream condition
Argument definitions
Use dbTableUpdate to update records in a table using the supplied data and criteria.
You must include the following line at the beginning of your OmniMark program:
include "omdb.xin"
The database connection containing the table must be:
table must:
The record being inserted (values) must:
The condition must be
To specify a null value for the input you may represent the null data value as either an unattached stream or an optionally defined string. The column name is identified by the key of each values parameter shelf item.
If the record has a date, time, or timestamp field, you must represent the field's value in the OmniMark Date and Time library format. (This format returns the time with a time zone offset from UTC time, which most databases do not provide.)
The following program shows how to:
process ; local variables local dbDatabase this-db local dbField student-average variable local dbTable student local stream SQL-query initial { "select SID, ave(Grade) " || "from StudentCourse " || "group by SID " } local stream average variable initial { ' ' with key 'Average' } set this-db to dbOpenODBC 'dbDemo' dbQuery this-db SQL SQL-query record student-average set student to dbTableOpen this-db table 'Student' repeat exit unless dbRecordExists student-average set average{'Average'} to dbFieldValue student-average[2] null '0' dbTableUpdate student from average where "SID = ' " || dbFieldValue student-average{'SID'} || " ' " ; advance the cursor dbRecordMove student-average again