
# U0400006：GaussDB的存储过程中不支持使用SELECT语句进行输出
#### 描述
**数据库类型与版本**
- 源库类型与版本：MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本：GaussDB所有版本。
**语法示例**
默认情况下，UGO保留存储过程中SELECT输出语句不转换，并生成此错误提示。
GaussDB的存储过程中无法直接使用SELECT查询语句进行输出，如下示例在GaussDB中不支持。
```
CREATE PROCEDURE demo()
AS
    DECLARE total INT;
BEGIN
    SELECT count(1) INTO total FROM emp_t WHERE deptno = 10;
    SELECT total;
END;
```
#### 改造建议
**方案一**：修改"存储过程内输出类型select语句转换"转换配置项，将存储过程中输出的查询语句注释掉。请注意，MySQL存储过程中的SELECT语句返回的结果集可被调用客户端获取，如果选择注释掉该语句，可能会影响调用该存储过程的应用。
**方案二**：您也可以参考如下示例，将原有返回结果集的SELECT语句改造成存储过程OUT参数的方式，以此来获取预期的输出，请注意这种方式需要修改客户端的调用方式。
```
CREATE PROCEDURE demo(total OUT INT)
AS
BEGIN
    SELECT count(1) INTO total FROM emp_t WHERE deptno = 10;
END;
```
**方案三**：如果原有的存储过程确实有返回数据的需求，也可以将存储过程改造成存储函数，甚至直接通过改造业务实现原有的逻辑。
