swirl Guide to OmniMark 5   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesOMX VariablesErrors
 
      Other Library Functions  
function   dbTableUpdate    

Library: omdb - high level database access
Include: omdb.xin

Declaration

  define external function dbTableUpdate
             value      dbTable     table
    from   read-only     stream   values
    null    value           stream    null       optional
    where value           stream  where optional

Where:
table


values
null
where

Purpose

This function updates records in a table using the supplied data and criteria. A NULL data value may be represented as an unattached stream or as an optionally defined string. The column name is identified as the key of each "values" parameter shelf item.

Date and time fields

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 retrieve the average for each enrolled student and use dbTableUpdate to update his or her current average. The field data is updated through the dbTable OMX component.

  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' }

      ;  create the database OMX objects
      set this-db to dbOpenODBC 'dbDemo'
      dbQuery this-db sql SQL-query record student-average
      set student to dbTableOpen this-db table 'Student'

      ;  retrieve all student course averages
      repeat
          ; exit the loop if no more data exists
          exit unless dbRecordExists student-average

          ;  update the 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

      ;  catch the database exceptions
      catch #external-exception identity catch-id message catch-msg
          output 'An error occurred while accessing an omDB function.%n'
          output '%g(catch-id)  :  %g(catch-msg)%n'

        Other Library Functions
   dbClose
   dbExecute
   dbFieldValue
   dbIsVersionCompatible
   dbLibraryVersion
   dbOpenODBC
   dbQuery
   dbRecordExists
   dbRecordMove
   dbTableClose
   dbTableDelete
   dbTableInsert
   dbTableOpen
   dbTableUpdate
 
----  

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ OMX ] [ OMX ] [ ERRORS ]

Generated: August 11, 2000 at 3:07:07 pm
If you have any comments about this section of the documentation, send email to docerrors@omnimark.com

Copyright © OmniMark Technologies Corporation, 1988-2000.