The Ur/Web library also includes an embedding of a fragment of SQL's DML, the Data Manipulation Language, for modifying database tables. Any piece of DML may be executed in a transaction.
The function will trigger a fatal application error if the command fails, for instance, because a data integrity constraint is violated. An alternate function returns an error message as a string instead.
Properly typed records may be used to form commands.
An command is formed from a choice of which table fields to leave alone and which to change, along with an expression to use to compute the new value of each changed field and a clause. Note that, in the table environment applied to expressions, the table being updated is hardcoded at the name . The parsing extension for will elaborate all table-free field references to use table variable .
A command is formed from a table and a clause. The above use of is repeated.