Outdated Version

You are viewing an older version of this section. View current production version.


The ROW() function constructs a RECORD object that may be used in an expression or assigned into a RECORD type variable.


The following function creates a record value using ROW():

delimiter //
create function f() returns int as
  r record(a int, b int);
  r = row(1, 2);
  return r.a + r.b;
end //
delimiter ;

Here’s an example use of this function:

memsql> select f();
| f()  |
|    3 |

Type Inference The data types of the fields of the new RECORD object created are inferred from the context of the function or stored procedure. For example, if you assign the value of a new record created with ROW() into a record variable, the types of the fields of the new record will be the same as the types of the fields of the record variable to which the new record value is assigned. In the example above, the types of the two fields of the record created by ROW are inferred to be int based on the assignment to the variable r.

Related Topics

  • RECORD: The RECORD data type is an encapsulated group of named fields.

  • CREATE_ARRAY: CREATE_ARRAY() is used to create an array object.