Literal values as field values
You can use a literal value to specify a field value for a row variable. The literal values must have a data type that is compatible with the field type.
For example, the following UPDATE statement specifies
a literal integer as a field value for the length field of
the myrect variable. See Update a row variable for a description
of myrect.
EXEC SQL update table(:myrect) set length = 6;
The following UPDATE statement updates the x- and y-coordinate
fields of the myrect variable:
EXEC SQL update table(:myrect)
set (x = 14, y = 6);
The following UPDATE statement updates a ROW(a INTEGER,
b CHAR(5)) host variable called a_row2 with a quoted string:
EXEC SQL update table(:a_row2) set b = 'abcde';
The following UPDATE statement updates the nested_row host
variable (which Sample nested-
row variable defines)
with a literal row:
EXEC SQL insert into table(:nested_row)
values (1, row(2,3));
Important: The syntax
of a literal row for a row variable is different from the syntax
of a literal row for a row-type column. A row variable does
not need to be a quoted string.
If you only need to insert or update the row-type column with literal values, you can list the literal values as a literal-row value in the INTO clause of the INSERT statement or the SET clause of the UPDATE statement.