Library: Database access (OMDB)
Import : omdb.xmd

define external function db.insert
  into  value     db.table  table
  from  read-only stream    values
  null  value     string    null   optional

Argument definitions

is an open db.table object.
is a stream shelf containing the values to insert.
is an optional string to represent a NULL value rather than the default unattached stream.


Use db.insert to insert a record into a table using the data values in a stream shelf.


The database connection containing the table must be:

The table must :

The record being inserted (values) must:

Usage Notes

NULL data values may be represented as unattached streams or as an optionally defined string. The column name is identified as the key of each shelf item in the values argument.

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 adds two new courses to a curriculum. The table records can be added using two different methods. The first is to execute an SQL statement on the database. The second approach is to use the db.table OMX component.

  import "omdb.xmd" prefixed by db.
      local db.database this-db
      local db.table course
      local stream SQL-insert initial
      {  "insert into Course values " ||
          " ( '503', 'Learning Through Pain'  )"
      local stream course-data variable initial
      {   '504' with key 'CID',
            'What is that Sound?' with key 'CourseName'
      ;  create the database OMX objects
      set this-db to db.open-odbc 'dbDemo'
      set course to db.open-table in this-db named 'Course'
      ; add record to the table (Method #1)
      db.execute-in this-db sql SQL-insert
      ; add record to the table (Method #2)
      db.insert into course from course-data