第二章 SQL命令参考-ALTER EXTERNAL TABLE

来源:互联网 发布:js打印99乘法表 编辑:程序博客网 时间:2024/06/05 16:35

ALTEREXTERNAL TABLE

 

更改外部表的定义.

概要

ALTER

EXTERNAL

TABLE

name

RENAME

[COLUMN] column TO new_column

ALTER

EXTERNAL

TABLE

name

RENAME

TO new_name

ALTER

EXTERNAL

TABLE

name

SET SCHEMA newschema

ALTER

EXTERNAL

TABLE

name

action

[,...]

ADD [COLUMN]type

DROP [COLUMN] column ALTER [COLUMN] column TYPE type [USING expression] OWNER TO newowner

 


 

where action is one of:

ADD[COLUMN] column_name type

DROP[COLUMN] column

ALTER[COLUMN] column

TYPEtype [USING expression]

OWNERTO new_owner

 

 

描述

ALTER EXTERNAL TABLE更改现有外部表的定义。有如下几种形式:

•      ADD COLUMN —在外部表的定义里添加新的列.

•     DROP COLUMN —从外部表定义中删除一列。请注意,如果您删除可读的外部表列,它只会更改Greenplum数据库中的表定义。外部数据文件不会更改。

•     ALTER COLUMN TYPE —更改表的列的数据类型。可选的USING子句指定如何从旧的列值计算新的列值。如果省略,默认转换与从旧数据类型转换为新的转换相同。如果没有从旧类型到新类型的隐式或赋值转换,则必须提供USING子句。

•      OWNER —将外部表的所有者更改为指定的用户。

•     RENAME —更改外部表的名称或表中单个列的名称。对外部数据没有影响。

•      SET SCHEMA —将外部表移动到另一个模式。

您必须拥有外部表才能使用ALTER EXTERNAL TABLE。要更改外部表的模式,您还必须对新模式具有CREATE权限。要更改所有者,您还必须是新拥有角色的直接或间接成员,并且该角色必须对外部表的模式具有CREATE权限。超级用户自动拥有这些权限。

在此版本中,ALTER EXTERNAL TABLE不能修改外部表类型,数据格式或外部数据的位置。要修改此信息,您必须删除并重新创建外部表定义。

 

parameter

name

要修改的现有外部表定义的名称(可以添加schema前缀)。

column

现有的或新的列名

newcolumn

现有列名的新名称.

new_name

外部表的新名称

type

新列的数据类型,或现有列的新数据类型

new_owner

外部表的新所有者的角色名称

 new_schema

新的schema的名称

示例

向外部表定义添加新列:

ALTER EXTERNALTABLE ext_expenses ADD COLUMN manager text;

更改外部表的名称:

ALTER EXTERNALTABLE ext_data RENAME TO ext_sales_data;

更改外部表的所有者:

ALTER EXTERNALTABLE ext_data OWNER TO jojo;

更改外部表的模式:

ALTER EXTERNALTABLE ext_leads SET SCHEMA marketing;

兼容性

ALTER EXTERNAL TABLE是一个Greenplum数据库扩展。 在SQL标准或常规PostgreSQL中没有ALTER EXTERNAL TABLE语句。

相关参考

CREATE EXTERNAL TABLE,DROP EXTERNAL TABLE
原创粉丝点击