
# 查看SQL执行结果 - ShowAuraV2SqlStatementResult
#### 功能介绍
查询SQL语句执行结果。
用户可通过该接口查询SQL语句执行结果，输入为SQL Session id、statement id，返回执行结果。
此接口为同步接口，无配套使用接口和特殊场景。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-aidatalake/aidatalake_02_0003.html)。
#### URI
GET /v2/workspaces/{workspace_id}/aura-sessions/{session_id}/statements/{statement_id}
表1路径参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| workspace_id | 是    | String | **参数解释**：工作空间的ID。 **约束限制**：不涉及。 **取值范围**：长度为1\~36个字符，支持大小写英文字母、数字、连字符。 **默认取值**：不涉及。      |
| session_id   | 是    | String | **参数解释**：会话ID。 **约束限制**：不涉及。 **取值范围**：长度为1\~36个字符，支持大小写英文字母、数字、连字符。 **默认取值**：不涉及。         |
| statement_id | 是    | String | **参数解释**：statement id。 **约束限制**：不涉及。 **取值范围**：长度为1\~36个字符，支持大小写英文字母、数字、下划线。 **默认取值**：不涉及。 |
   
表2Query参数 
| 参数                 | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| page_num           | 否    | Integer | **参数解释**：查询页码。 **约束限制**：不涉及。 **取值范围**：1\~2147483647。 **默认取值**：不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                        |
| is_enable_obs_path | 否    | Boolean | **参数解释**：是否返回结果集的obs路径。 **约束限制**：不涉及。 **取值范围**： - true：返回结果集的obs路径。   - false：返回结果集。    **默认取值**：不涉及。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token | 否    | String | **参数解释**：租户token。 **约束限制**：不涉及。 **取值范围**：不涉及。 **默认取值**：不涉及。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| -  | String | **参数解释**：SQL执行结果，可见下方响应示例。 **取值范围**： **StatementResponse** - **status**（Integer）：请求整体执行状态。 - 0：成功。   - -1：失败。   - 1： 执行中。   - 2：执行完成但无结果集。   - 3：排队等待中。   - 4：语句未正常执行。     - **session_id**（String，UUID）：当前执行会话唯一标识。   - **statement_id**（String，UUID）：本次语句执行唯一标识。   - **results**（Array of StatementResult objects）：每条SQL执行结果。    **StatementResult** - **status**（String）：SQL执行状态。 - PGRES_TUPLES_OK：查询成功并含结果集。   - PGRES_COMMAND_OK：查询成功并含结果集。   - PGRES_FATAL_ERROR：执行失败。     - **statement_id**（String）：语句ID。   - **num_rows**（Integer）：查询结果总行数。   - **row_count**（Integer）：当前页实际返回行数。   - **page_no**（Integer）：当前页码。   - **page_count**（Integer）：总页数。   - **err_code**（String）：错误码，0表示无错误，其他数值参见错误信息。   - **sql_state**（String）：SQL状态码。   - **message**（String）：执行信息或错误详情。   - **result_set**（Object，type: StatementResultSet）：仅查询成功时含有效数据，否则为空结构。    **StatementResultSet** - **columns**（Array of RowType objects）：列元数据列表。   - **rows**（Array of String arrays）：实际数据行，每行顺序与columns对应。    **RowType** - **name**（String）：列名。   - **table_id**（Integer）：表的ID。   - **column_id**（Integer）：列的ID。   - **format**（Integer）：格式。   - **type**（Integer）：PG类型OID。   - **size**（Integer）：大小。   - **type_mod**（Integer）：typemod。    |
   
**状态码：400**
表5响应Body参数 
| 参数           | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~4096个字符。   |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为2\~4096个字符。 |
   
**状态码：401**
表6响应Body参数 
| 参数           | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~4096个字符。   |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为2\~4096个字符。 |
   
**状态码：403**
表7响应Body参数 
| 参数           | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~4096个字符。   |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为2\~4096个字符。 |
   
**状态码：404**
表8响应Body参数 
| 参数           | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~4096个字符。   |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为2\~4096个字符。 |
   
**状态码：408**
表9响应Body参数 
| 参数           | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~4096个字符。   |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为2\~4096个字符。 |
   
**状态码：500**
表10响应Body参数 
| 参数           | 参数类型   | 描述                                                                                       |
|:---|:---|:---|
| error_code   | String | **参数解释**：错误码。 **取值范围**：长度为8\~36个字符。      |
| error_msg    | String | **参数解释**：错误描述。 **取值范围**：长度为2\~4096个字符。   |
| solution_msg | String | **参数解释**：解决方案描述。 **取值范围**：长度为2\~4096个字符。 |
   
#### 请求示例
查询SQL语句执行结果。用户可通过该接口查询SQL语句执行结果，输入为端点id、SQL Session id、statement id，返回执行结果。
```
GET /v2/workspaces/{workspace_id}/aura-sessions/{session_id}/statements/{statement_id}
{ }
```
#### 响应示例
**状态码：200**
请求成功。
```
{
  "status" : 0,
  "session_id" : "6399466e-8908-4c9d-8399-48479c8b06f7",
  "statement_id" : "49131d25-1824-4f29-860c-832bdd19dfd3",
  "results" : [ {
    "status" : "PGRES_TUPLES_OK",
    "statement_id" : "49131d25-1824-4f29-860c-832bdd19dfd3",
    "num_rows" : 2,
    "row_count" : 2,
    "page_count" : 1,
    "page_no" : 1,
    "err_code" : "0",
    "sql_state" : "0",
    "message" : "",
    "result_set" : {
      "columns" : [ {
        "name" : "a",
        "table_id" : 2147483647,
        "column_id" : 1,
        "format" : 0,
        "type" : 23,
        "size" : 4,
        "type_mod" : -1
      }, {
        "name" : "b",
        "table_id" : 2147483647,
        "column_id" : 2,
        "format" : 0,
        "type" : 23,
        "size" : 4,
        "type_mod" : -1
      } ],
      "rows" : [ [ "1", "2" ], [ "1", "2" ] ]
    }
  } ]
}
```
**状态码：400**
非法请求。
```
{
  "error_code" : "AIDataLake.00092031",
  "error_msg" : "Invalid parameter name",
  "solution_msg" : "Please enter parameters in the correct format."
}
```
**状态码：401**
未经授权。
```
{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}
```
**状态码：403**
请求被拒绝访问。
```
{
  "error_code" : "AIDataLake.00090030",
  "error_msg" : "Unauthorized requests.",
  "solution_msg" : "Check permissions and retry after authorization."
}
```
**状态码：404**
所请求的资源不存在。
```
{
  "error_code" : "AIDataLake.00090009",
  "error_msg" : "The resource not exists.",
  "solution_msg" : "Please try to use correct info."
}
```
**状态码：408**
请求超时。
```
{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}
```
**状态码：500**
服务器内部错误。
```
{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}
```
#### 状态码
| 状态码 | 描述         |
|:---|:---|
| 200 | 请求成功。      |
| 400 | 非法请求。      |
| 401 | 未经授权。      |
| 403 | 请求被拒绝访问。   |
| 404 | 所请求的资源不存在。 |
| 408 | 请求超时。      |
| 500 | 服务器内部错误。   |
   
