云数据库 GAUSSDB-数组:数组类型的使用
数组类型的使用
在使用数组之前,需要自定义一个数组类型。
TYPE array_type IS VARRAY(size) OF data_type;
其中:
- array_type:要定义的数组类型名。
- VARRAY:表示要定义的数组类型。
- size:取值为正整数,表示可以容纳的成员的最大数量。
- data_type:要创建的数组中成员的类型。
- 在 GaussDB 中,数组会自动增长,访问越界会返回一个NULL,不会报错。
- 在存储过程中定义的数组类型,其作用域仅在该存储过程中。
- size只支持语法,不支持功能。
- data_type也可以为存储过程中定义的record类型(匿名块不支持)、集合类型,但不可以为存储过程中定义的数组类型、游标类型。
- data_type为集合类型时,不支持使用多维数组。
- 不支持NOT NULL语法。
- array类型的构造器仅支持在ORA兼容模式下使用。
- array类型的构造器不支持作为函数或存储过程参数的默认值。
- 当数组是集合类型的元素并且数组的data_type为varchar、numeric等可以定义长度和精度的类型时,不会校验该数组的元素长度或者将元素转换成对应的精度。
- 设置enable_recordtype_check_strict参数值为on后,成员是record类型,且record类型有列具有not null属性或defalut属性,在存储过程或PACKAGE编译时会报错。
GaussDB支持使用圆括号来访问数组元素,且还支持一些特有的函数,如extend,count,first,last,prior,next,exists,trim,delete来访问数组的内容。
存储过程中如果有DML语句(SELECT、UPDATE、INSERT、DELETE),DML语句只能使用中括号来访问数组元素,这样可以和函数表达式区分开。
- 云数据库 RDS 的实例类型有哪些
- GaussDB的研发历程_GaussDB产品动态_高斯数据库研发历程-华为云
- 云数据库 RDS 的实例存储类型有哪些
- GaussDB版本_GaussDB数据库版本_高斯数据库版本-华为云
- GaussDB发展计划_GaussDB产品动态_高斯数据库发展计划-华为云
- GaussDB版本查询_华为云GaussDB的作用_高斯数据库版本查询_华为云
- GaussDB数据库函数和字符串_高斯数据库优势_新建高斯数据库_高斯协议
- 云数据库GaussDB(for MySQL)备份策略_备份类型_自动备份
- 云数据库 RDS for MySQL实例变更_MySQL实例如何变更_华为云
- 云数据库专题