400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
流计算引擎
灾难恢复
系统配置参数
索引
扩展
SQL 参考
常见问题(FAQ)
定义一个新的外表。
CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [
column_name data_type [ OPTIONS ( option 'value' [, ... ] ) ] [ COLLATE collation ] [ column_constraint [ ... ] ]
[, ... ]
] )
SERVER server_name
[ OPTIONS ( [ mpp_execute { 'master' | 'any' | 'all segments' } [, ] ] option 'value' [, ... ] ) ]
其中column_constraint为:
[ CONSTRAINT constraint_name ]
{ NOT NULL |
NULL |
DEFAULT default_expr }
CREATE FOREIGN TABLE在当前数据库中创建一个新的外部表。 创建外部表的用户将成为其所有者。
如果您对表名称进行模式限定(例如,CREATE FOREIGN TABLE myschema.mytable ...), 则 YMatrix 数据库将在指定模式中创建表。 否则,将在当前模式中创建外部表。 外部表的名称必须与同一模式中任何其他外部表,表,序列,索引或视图的名称不同。
因为CREATE FOREIGN TABLE自动创建一种数据类型, 该数据类型表示与外部表的一行相对应的复合类型,所以外部表不能与同一模式中的任何现有数据类型具有相同的名称。
要创建外部表,您必须在外部服务器上具有USAGE特权, 并且对表中使用的所有列类型都具有USAGE特权。
IF NOT EXISTS
table_name
column_name
data_type
NOT NULL
NULL
DEFAULT default_expr
server_name
OPTIONS ( option 'value' [, ... ] )
mpp_execute { 'master' | 'any' | 'all segments' }
使用名为film_server的服务器创建一个名为films的外部表:
CREATE FOREIGN TABLE films (
code char(5) NOT NULL,
title varchar(40) NOT NULL,
did integer NOT NULL,
date_prod date,
kind varchar(10),
len interval hour to minute
)
SERVER film_server;
CREATE FOREIGN TABLE基本上符合SQL标准; 但是,与CREATE TABLE一样,YMatrix 数据库允许NULL约束和零列外部表。 指定默认值的功能是 YMatrix 数据库扩展,以及mpp_execute选项。