ALTER FOREIGN DATA WRAPPER
ALTER FOREIGN DATA WRAPPER¶
修改外部数据包装的定义。
- 语法
-
``` sql ALTER FOREIGN DATA WRAPPER name [ HANDLER handler_function | NO HANDLER ] [ VALIDATOR validator_function | NO VALIDATOR ] [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, … ] ) ]
ALTER FOREIGN DATA WRAPPER name OWNER TO new_owner ALTER FOREIGN DATA WRAPPER name RENAME TO new_name ```
- 描述
ALTER FOREIGN DATA WRAPPER
修改一个外部数据包装的定义。第一个语句修改外部数据包装的支持函数或者一个一般性的选项。SeaboxMPP数据库要求只要有一个选项。第二和第三的语句修改外部数据包装的所有者或者名字。 只有超级用户才可以修改外部数据包装。另外,只有超级用户才可以拥有外部数据包装。- 参数
-
该SQL命令参数说明见下
name
- 外部数据包装的名字。
HANDLER handler_function
- 为外部数据包装提供一个新的处理函数。
NO HANDLER
- 指定外部数据包装不再拥有处理函数。
VALIDATOR validator_function
-
为外部数据包装提供一个新的验证函数。
当你修改验证函数时,外部数据包装、服务器、用户映射可能会变成不可用。在修改外部数据包装前你必须要确保这些选项时正确的。注意使用新验证者时,SeaboxMPP数据库会检查在
ALTER FOREIGN DATA WRAPPER
命令中用到的所有选项。 - NO VALIDATOR
- 指定外部数据包装不再拥有验证函数。
OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ])
-
修改外部数据包装的选项。
ADD
,SET
和DROP
指定了操作的动作。如果没有明确指出操作,默认的操作是ADD
。选项的名字必须是唯一的。如果使用了验证函数,SeaboxMPP会验证提供的选项名字和值。
OWNER TO new_owner
- 指定外部数据包装的新所有者,只有超级用户可以拥有外部数据包装。
RENAME TO new_name
- 指定外部数据包装的新名字。
- 示例
-
修改外部数据包装名为
dbi
的定义,增加一个新选项foo
,然后移除名为bar
的选项:ALTER FOREIGN DATA WRAPPER dbi OPTIONS (ADD foo '1', DROP 'bar');
修改外部数据包装名为
dbi
的验证函数为bob.myvalidator
:ALTER FOREIGN DATA WRAPPER dbi VALIDATOR bob.myvalidator;
- 兼容性说明
ALTER FOREIGN DATA WRAPPER
适配ISO/IEC 9075-9 (SQL/MED),但是HANDLER
、VALIDATOR
、OWNER TO
和RENAME TO
选项是SeaboxMPP数据库的扩展。- 相关SQL命令
CREATE FOREIGN DATA WRAPPER
,DROP FOREIGN DATA WRAPPER