ALTER FOREIGN TABLE (SQL on other GaussDB(DWS))
功能描述
对协同分析的外表进行修改。
注意事项
无。
语法格式
- 设置外表属性:
1 2
ALTER FOREIGN TABLE [ IF EXISTS ] tablename OPTIONS ( {[ SET ] option ['value']} [, ... ]);
- 设置外表的所有者:
1 2
ALTER FOREIGN TABLE [ IF EXISTS ] tablename OWNER TO new_owner;
- 更新外表列类型:
1 2
ALTER FOREIGN TABLE [ IF EXISTS ] table_name MODIFY ( { column_name data_type [, ...] } );
- 修改外表的列:
1 2
ALTER FOREIGN TABLE [ IF EXISTS ] tablename action [, ... ];
其中action语法为:1 2
ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type | MODIFY column_name data_type
参考ALTER TABLE。
参数说明
- IF EXISTS
如果不存在相同名称的表,不会抛出错误,而会返回一个通知,告知表不存在。
- tablename
需要修改的外表名称。
取值范围:已存在的外表名。
- new_owner
外表的新所有者。
取值范围:字符串,有效的用户名。
- data_type
现存字段的新类型。
取值范围:字符串,需符合标识符的命名规范。
- column_name
现存字段的名称。
取值范围:字符串,需符合标识符的命名规范。
修改外表语法中其它参数,请参见ALTER TABLE的参数说明。
示例
- 创建名称为server_remote的外部服务器,对应的foreign data wrapper为GC_FDW。
1
CREATE SERVER server_remote FOREIGN DATA WRAPPER GC_FDW OPTIONS (address '10.10.0.100:25000,10.10.0.101:25000',dbname 'test', username 'test', password '{Password}');
- 创建名称为region的外表:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
DROP FOREIGN TABLE IF EXISTS region; CREATE FOREIGN TABLE region ( R_REGIONKEY INT4, R_NAME TEXT, R_COMMENT TEXT ) SERVER server_remote OPTIONS ( schema_name 'test', table_name 'region', encoding 'gbk' );
- 修改外表region选项:
1
ALTER FOREIGN TABLE region OPTIONS (SET schema_name 'test');
- 修改外表region的r_name字段类型为text:
1
ALTER FOREIGN TABLE region ALTER r_name TYPE TEXT;