Next: , Previous: Match-Keys, Up: Table Operations


6.1.2.3 Multi-Row Operations
— Operation on relational-table: row:retrieve*

Returns a procedure of optional arguments match-key1 ... which returns a list of all rows in this table. The optional match-key1 ... arguments restrict actions to a subset of the table. For details see See Match-Keys.

     ((plat 'row:retrieve*) a-key?) ⇒
     ((atari-st-turbo-c m68000 atari turbo-c)
      (atari-st-gcc m68000 atari gcc)
      (amiga-sas/c-5.10 m68000 amiga sas/c)
      (amiga-aztec m68000 amiga aztec)
      (amiga-dice-c m68000 amiga dice-c)
      (aix powerpc aix -))
— Operation on relational-table: row:remove*

Returns a procedure of optional arguments match-key1 ... which removes and returns a list of all rows in this table. The optional match-key1 ... arguments restrict actions to a subset of the table.

— Operation on relational-table: row:delete*

Returns a procedure of optional arguments match-key1 ... which Deletes all rows from this table. The optional match-key1 ... arguments restrict deletions to a subset of the table. The value returned is unspecified. The descriptor table and catalog entry for this table are not affected.

— Operation on relational-table: for-each-row

Returns a procedure of arguments proc match-key1 ... which calls proc with each row in this table. The optional match-key1 ... arguments restrict actions to a subset of the table. For details see See Match-Keys.

Note that row:insert* and row:update* do not use match-keys.

— Operation on relational-table: row:insert*

Returns a procedure of one argument, rows, which adds each row in the list of rows, rows, to this table. If a row for the primary key specified by an element of rows already exists in this table, an error is signaled. The value returned is unspecified.

— Operation on relational-table: row:update*

Returns a procedure of one argument, rows, which adds each row in the list of rows, rows, to this table. If a row for the primary key specified by an element of rows already exists in this table, it will be overwritten. The value returned is unspecified.