云数据库 GaussDB-CREATE TYPE:功能描述

时间:2023-11-01 16:22:51

功能描述

在当前数据库中定义一种新的数据类型。定义数据类型的用户将成为该数据类型的拥有者。类型只适用于行存表

有五种形式的CREATE TYPE,分别为:复合类型、基本类型、shell类型、枚举类型和集合类型。

  • 复合类型

    复合类型由一个属性名和数据类型的列表指定。如果属性的数据类型是可排序的,也可以指定该属性的排序规则。复合类型本质上和表的行类型相同,但是如果只想定义一种类型,使用CREATE TYPE避免了创建一个实际的表。单独的复合类型也是很有用的,例如可以作为函数的参数或者返回类型。

    为了能够创建复合类型,必须拥有在其所有属性类型上的USAGE特权。

  • 基本类型

    用户可以自定义一种新的基本类型(标量类型)。通常来说这些函数必须是用C或者另外一种低层语言所编写。

  • shell类型

    shell类型是一种用于后面要定义的类型的占位符,通过发出一个不带除类型名之外其他参数的CREATE TYPE命令可以创建这种类型。在创建基本类型时,需要shell类型作为一种向前引用。

  • 枚举类型

    由若干个标签构成的列表,每一个标签值都是一个非空字符串,且字符串长度必须不超过64个字节。

  • 集合类型

    类似数组,但是没有长度限制,主要在存储过程中使用。

  • 被授予CREATE ANY TYPE权限的用户,可以在public模式和用户模式下创建类型。
support.huaweicloud.com/distributed-devg-v2-opengauss/gaussdb-v5r2c10-0601.html