
# ALTER FOREIGN TABLE
#### 功能描述
用于对外表进行修改。
#### 注意事项
OPTIONS中的敏感字段（如password、secret_access_key）在使用多层引号时，语义和不带引号的场景是不同的，因此不会被识别为敏感字段进行脱敏。
#### 语法格式
- 设置外表属性：
  ```
  ALTER FOREIGN TABLE [ IF EXISTS ]  table_name
      OPTIONS ( { [ ADD | SET | DROP ] option ['value']}[, ... ]);
  ```
  ![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/figure/zh-cn_image_0000002526899318.png)
  
- 设置新的所有者：
  ```
  ALTER FOREIGN TABLE [ IF EXISTS ] tablename
      OWNER TO new_owner;
  ```
  ![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/figure/zh-cn_image_0000002527059282.png)
  
 
- 设置外表字段选项：
  ```
  ALTER FOREIGN TABLE [ IF EXISTS ] table_name
      ALTER column_name OPTIONS;
  ```
  ![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/figure/zh-cn_image_0000002558219133.png)
  
#### 参数说明
- **table_name**
  需要修改的外表名称。
  取值范围：已存在的外表名。
  
- **OPTIONS**
  外表的选项字段。其中，\[ ADD \| SET \| DROP \] 缺省时，默认使用SET。
  
- **option**
  需要修改的option名称。
  取值范围：请参见[CREATE FOREIGN TABLE](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0544.html#ZH-CN_TOPIC_0000002527826202)章节的[参数说明](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0544.html#ZH-CN_TOPIC_0000002527826202__zh-cn_topic_0000002527056556_zh-cn_topic_0059778310_section6349372103427)。
  
- **value**
  option的新值。
  
- **new_owner**
  外表的新的所有者。
  
- **column_name**
  现有的列的名称。
  取值范围：字符串，符合[标识符命名规范](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0322.html#ZH-CN_TOPIC_0000002559105775__zh-cn_topic_0000002558056023_section14873217506)。
  
 
#### 示例
```
--创建外部表。
gaussdb=# CREATE SCHEMA tpcds;
gaussdb=# CREATE FOREIGN TABLE tpcds.customer_ft
(
    c_customer_sk             integer               ,
    c_customer_id             char(16)              ,
    c_current_cdemo_sk        integer               ,
    c_current_hdemo_sk        integer               ,
    c_current_addr_sk         integer               ,
    c_first_shipto_date_sk    integer               ,
    c_first_sales_date_sk     integer               ,
    c_salutation              char(10)              ,
    c_first_name              char(20)              ,
    c_last_name               char(30)              ,
    c_preferred_cust_flag     char(1)               ,
    c_birth_day               integer               ,
    c_birth_month             integer               ,
    c_birth_year              integer                       ,
    c_birth_country           varchar(20)                   ,
    c_login                   char(13)                      ,
    c_email_address           char(50)                      ,
    c_last_review_date        char(10)
)
    SERVER gsmpp_server
    OPTIONS
(
    location 'gsfs://10.185.179.143:5000/customer1*.dat',
    FORMAT 'TEXT' ,
    DELIMITER '|',
    encoding 'utf8',
    mode 'Normal')
READ ONLY;
--修改外表属性，删除mode选项。
gaussdb=# ALTER FOREIGN TABLE tpcds.customer_ft options(drop mode);
--删除外部表。
gaussdb=# DROP FOREIGN TABLE tpcds.customer_ft;
gaussdb=# DROP SCHEMA tpcds CASCADE;
```
#### 相关链接
[CREATE FOREIGN TABLE](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0544.html#ZH-CN_TOPIC_0000002527826202)，[DROP FOREIGN TABLE](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/gaussdb-12-0594.html#ZH-CN_TOPIC_0000002527986172)
