# 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-ref-v10-gaussdb/figure/zh-cn_image_0000002793788397.png "点击放大")
  
- 设置新的所有者
  ```
  ALTER FOREIGN TABLE [ IF EXISTS ] tablename
      OWNER TO new_owner;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002764469586.png "点击放大")
  
 
- 设置外表字段选项
  ```
  ALTER FOREIGN TABLE [ IF EXISTS ] table_name
      ALTER column_name OPTIONS;
  ```
  ![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/figure/zh-cn_image_0000002793708201.png "点击放大")
  
#### 参数说明
- **table_name**
  需要修改的外表名称。
  取值范围：已存在的外表名。
  
- **OPTIONS ( \[ ADD \| SET \| DROP \] option \['value'\] \[, ... \] )**
  改变外表或外表字段的选项。ADD、SET和DROP为指定执行的操作。如果未指定，默认为SET。
  - option：需要修改的option名称。 取值范围：请参见[CREATE FOREIGN TABLE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0248.html)章节中的[OPTIONS ( { option_name ' value ' } \[, ...\] )](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0248.html#ZH-CN_TOPIC_0000002764308816__zh-cn_topic_0059778310_li673282215045)。
    
  
  - value：option的新值。
   
- **new_owner**
  外表的新的所有者。
  
- **column_name**
  现有的列的名称。
  取值范围：字符串，要符合[标识符命名规范](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0003.html#ZH-CN_TOPIC_0000002793787739__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-ref-v10-gaussdb/gaussdb-08-0248.html)，[DROP FOREIGN TABLE](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0299.html)
