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)
新架构 FAQ
集群部署 FAQ
SQL 查询 FAQ
MatrixGate FAQ
运维 FAQ
监控告警 FAQ
PXF FAQ
PLPython FAQ
性能 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选项。