
# Branch
#### 前提条件
执行Branch相关操作前，需执行以下命令设置"write.wap.enabled"为"true"：
```
ALTER TABLE prod.db.table SET TBLPROPERTIES ( 'write.wap.enabled'='true');
```
#### 基本语法
- CREATE BRANCH 可通过**CREATE BRANCH**语句创建分支，该语句支持以下选项：
  - IF NOT EXISTS：如果分支已存在，操作不会失败。
  
  - CREATE OR REPLACE：如果分支已存在，则更新该分支。
  
  - 在特定快照处创建分支。
  
  - 创建具有指定保留期的分支：
    - 示例一：
      ```
      ALTER TABLE prod.db.sample CREATE BRANCH audit_branch;
      ```
      
    
    - 示例二：
      ```
      ALTER TABLE prod.db.sample CREATE BRANCH IF NOT EXISTS audit_branch;
      ```
      
    
    - 示例三：
      ```
      ALTER TABLE prod.db.sample CREATE OR REPLACE BRANCH audit_branch;
      ```
      
     
   
- REPLACE BRANCH 可通过**REPLACE BRANCH**语句更新分支所引用的快照，同时也可更新其保留期：
  ```
  ALTER TABLE prod.db.sample REPLACE BRANCH audit_branch AS OF VERSION {current-snapshot-id} RETAIN 60 DAYS;
  ```
  
- DROP BRANCH 可通过**DROP BRANCH**语句删除分支：
  ```
  ALTER TABLE prod.db.sample DROP BRANCH audit_branch;
  ```
  
 
