
# 创建查询数据业务流
查询数据时，条码应用会向集成工作台发送一个执行sql的请求，请求方式为POST，请求体为样例：
```
{
    "sql": "select \"ItemCode\" from oBTN"
}
```
1. 进入我的流页面，创建一条新流 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002530542829.png)
   
   
2. 查询数据是集成工作台提供一个接口供调用，所以首个节点选择：当收到HTTP请求时 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000001744523057.png)
   设置收到的请求方式为post
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002530542881.png)
   请求体可以根据接口格式文档进行配置，此处配置：
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002530582937.png)
   
   
   
3. 新建一个初始化变量执行动作，定义一个默认为true的变量，用于后续标记请求是否成功； 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002498703220.png)
   
   
   
   
4. 查询数据会用到diapi连接器里面的执行sql的执行动作（3.5已经封装好），创建执行动作，选择"自定义"，选择B1连接器里面的执行sql的执行动作； 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002530646531.png)
   
   
5. 添加一个流程块来捕获执行sql节点的异常，如果不捕获，sql执行异常就会中断，且没有返回； 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002498864042.png)
   
   
6. 如果执行异常，就将之前创建的标记变量设置为fasle，标记执行失败； 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000002530544057.png)
   
   
7. 根据执行sql是否成功，分别进行处理，sql执行成功，返回获取的数据；sql执行失败，返回执行错误信息； 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000001744562897.png)
   
   
8. 通过添加"响应"执行动作，封装响应结果； 
   ![](https://support.huaweicloud.com/bestpractice-sparkpack/zh-cn_image_0000001744523065.png)
   
   
9. 保存。
 
