Restrictions on the row data type

It is important to note the restrictions on the use of the row data type before using it or when troubleshooting an error that might be related to its use.

The following restrictions apply to the row data type:
  • The maximum number of fields supported in a row data type is 1012.
  • The row data type cannot be passed as an input parameter value to procedures and functions from the CLP.
  • The row data type cannot be passed as an input-output or output parameter value from procedures and functions to the CLP.
  • Row data type variables cannot be directly compared. To compare row type variables, each field can be compared.
  • The following data types are not supported for row fields:
    • XML data type
    • LONG VARCHAR
    • LONG VARGRAPHIC
    • structured data types
    • row data types
    • array data types
    • Nested types in local types declared inside an SQL routine
  • Global variables of type row that contain one or more fields of type LOB are not supported.
  • Use of the CAST function to cast a parameter value to a row data type is not supported.
  • Direct referencing of field within a nested row type is not permitted. The inner row must first be assigned to a temporary variable before any of its fields can be accessed.

Other general restrictions might apply related to the use of a data type, authorizations, execution of SQL, scope of use of the data type or other causes.