Source: https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/data-types/table-type/ Documentation version: v5.3.2 # 表类型 表类型描述由命名字段和数据行组成的表格数据,每个字段都有对应的值类型。例如,`TABLE {id INT64, name STRING}`表示一个表,其中`id`字段的类型为`INT64`,`name`字段的类型为`STRING`。 表类型不能作为点或边的属性类型。 ## 查看表类型 使用`typeof()`函数可以查看表变量的类型: ```` ''' TABLE t TYPED TABLE {id INT64, name STRING} = {id: 10001, name: 'Alice'}, {id: 10002, name: 'Bob'} RETURN typeof(t) AS t_type ''' ```` 返回: ```` +-------------------------------+ | t_type | +-------------------------------+ | TABLE {id INT64, name STRING} | +-------------------------------+ ```` 返回的类型包含每个字段的名称和值类型。 ## 表类型和表变量 表类型描述表格数据的结构,表变量用于存储或引用表格数据: ```` TABLE t TYPED TABLE {id INT64, name STRING} ```` 在上述声明中: - `t`是表变量。 - `TABLE {id INT64, name STRING}`是该变量的表类型。 - 第一个`TABLE`关键字用于引入表变量声明。 完整的声明语法参见[表变量](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/variable-definition/table-variable/)。 ## 用作过程参数类型 用户自定义过程(UDP)可以通过声明为`TABLE`的参数接收表: ```` parameter_name TABLE ```` 在上述语法中,`TABLE`表示该参数接受调用方传入的表变量。更多信息,请参见 [CREATE PROCEDURE](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/procedures/create/#parameter_type)。 ## 使用场景 表类型主要用于: - 保存中间数据或结果的表变量。 - 接收表的 UDP 参数。 - 通过`IMPORT`和`EXPORT`交换数据。 ## 悦数图数据库开发版中的表变量 在悦数图数据库开发版中,表变量的字段名称和类型也可以根据初始值或查询结果推导。本地表变量可以使用`FOR`遍历。 ## 限制 - 表类型不能作为点或边的属性类型。 - 写入表的值必须与对应的字段类型兼容。 ## 相关文档 - [表变量](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/variable-definition/table-variable/) - [typeof()](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/fe/functions/system/#typeof) - [IMPORT](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/in-out/import/) - [EXPORT](https://dev-docs.yueshu.com.cn/v5.3.2/database-gql-reference/in-out/export/)