云数据库 GAUSSDB-CREATE TYPE:功能描述
功能描述
在当前数据库中定义一种新的数据类型。定义数据类型的用户将成为该数据类型的拥有者。类型只适用于行存表。
有五种形式的CREATE TYPE,分别为:复合类型、基本类型、shell类型、枚举类型和集合类型。
- 复合类型
复合类型由一个属性名和数据类型的列表指定。如果属性的数据类型是可排序的,也可以指定该属性的排序规则。复合类型本质上和表的行类型相同,但是如果只想定义一种类型,使用CREATE TYPE避免了创建一个实际的表。单独的复合类型也是很有用的,例如可以作为函数的参数或者返回类型。
为了能够创建复合类型,必须拥有在其所有属性类型上的USAGE特权。
- 基本类型
- shell类型
shell类型是一种用于后面要定义的类型的占位符,通过发出一个不带除类型名之外其他参数的CREATE TYPE命令可以创建这种类型。在创建基本类型时,需要shell类型作为一种向前引用。
- 枚举类型
- 集合类型
- 被授予CREATE ANY TYPE权限的用户,可以在public模式和用户模式下创建类型。