对数组数据类型的限制

使用数组数据类型之前或诊断因为声明数组数据类型而导致的问题时,应注意数组数据类型的限制。

数组数据类型存在以下限制:
  • 不支持在动态复合语句中使用数组数据类型。
  • 不支持在 SQL 过程外部使用 ARRAY_AGG 函数。
  • 不支持在 SQL 过程外部使用 UNNEST 函数。
  • 不支持在 Java™ 过程以外的外部过程中使用数组数据类型的参数。
  • 不支持将数组强制转换为用户定义数组数据类型以外的任何数组类型。
  • 不支持包含并非对数组指定的数据类型的元素。
  • 不支持强制转换基数大于目标数组的数组。
  • 不支持在方法中使用数组作为参数或返回类型。
  • 不支持在有源函数或模板函数中使用数组作为参数或返回类型。
  • 不支持在外部标量函数或外部表函数中使用数组作为参数或返回类型。
  • 不支持在 SQL 标量函数、SQL 表函数或 SQL 行函数中使用数组作为参数或返回类型。
  • 不支持将 TRIM_ARRAY 函数的值指定或强制转换为数组以外的任何数据类型。
  • 不支持将 ARRAY 构造函数或 ARRAY_AGG 函数的结果值指定或强制转换为数组以外的任何数据类型。
  • 如果属于元素类型的任何行字段是数组或其他行类型,那么不支持在自主例程中使用带有行类型元素的数组。