跳到主要内容

CREATE TYPE 语句

CREATE TYPE 语句用于在 catalog 中定义新类型。

示例

创建简单 ENUM 类型:

CREATE TYPE mood AS ENUM ('happy', 'sad', 'curious');

创建简单 STRUCT 类型:

CREATE TYPE many_things AS STRUCT(k INTEGER, l VARCHAR);

创建简单 UNION 类型:

CREATE TYPE one_thing AS UNION(number INTEGER, string VARCHAR);

创建类型别名:

CREATE TYPE x_index AS INTEGER;

语法

CREATE TYPE 子句定义 Goose 实例可用的新数据类型。 这些新类型可通过 goose_types查看。

限制

  • 无法仅通过 SQL 扩展类型以支持自定义运算符(如 PostgreSQL 的 &&)。 需要添加额外 C++ 代码,可通过编写扩展实现。

  • CREATE TYPE 子句不支持 OR REPLACE 修饰符。