
# SQL语句执行失败，报错：canceling statement due to statement timeout
#### 问题现象
某SQL语句执行超过两小时，返回如下报错信息：
```
ERROR: canceling statement due to statement timeout.
```
#### 原因分析
当语句执行时间超过**statement_timeout**参数设置的时间时，该语句将会报错并退出执行。
#### 处理方法
**方式一：**通过控制台修改statement_timeout参数。
1. 登录[DWS控制台](https://console.huaweicloud.com/dws)。
2. 在左侧导航栏中，单击"集群 \> 集群列表"。
3. 在集群列表中找到所需要的集群，单击集群名称，进入"集群详情"页面。
4. 单击"参数修改"页签，在"参数列表"中找到"statement_timeout"修改其参数值，然后单击"保存"。 
   ![](https://support.huaweicloud.com/trouble-dws/public_sys-resources/note_3.0-zh-cn.png)
   DWS默认不限制SQL超时，即**statement_timeout**默认值为0。如用户手动修改过该参数，建议恢复原默认值0，或者根据需要调整SQL超时时间，避免设置的SQL超时时间对其它任务产生影响。
   
   
5. 在"修改预览"窗口，确认修改无误后，单击"保存"。
**方式二：** 成功连接集群后，通过SQL命令修改statement_timeout参数。
- 使用SET语句修改（会话级别）：
  ```
  SET statement_timeout TO 0;
  ```
  
- 使用ALTER USER语句修改（用户级别）：
  ```
  ALTER USER username SET statement_timeout TO 600000;
  ```
  其中，username为要设置SQL语句超时时间的数据库用户名。
  
 
