
# 识别SQL文本中的表信息 - IdentifyingTableInformationinSQLText
#### 功能介绍
识别SQL文本中的表信息。
- 调用接口前，您需要了解API [认证鉴权](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_011.html)。
- 调用接口前，您需要提前获取到[地区和终端节点](https://developer.huaweicloud.com/endpoint)。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforopenGauss&api=ListSchemaAndTable)中调试该接口。
#### URI
POST /v3/{project_id}/instances/{instance_id}/parse/schema-table
表1参数说明 
| 名称          | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_196.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| instance_id | 是    | String | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。 |
| X-Language   | 否    | String | **参数解释：** 指定接口返回信息的语言类型。 **约束限制：** 不涉及。 **取值范围** **：** - **zh-cn：**中文  - **en-us** **：**英文   **默认取值** **：** **en-us**                 |
   
表3请求Body参数 
| **参数**      | **是否必选** | **参数类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| sql_text    | 是        | String   | **参数解释** **：** SQL文本。 **约束限制** **：** 不涉及。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| instance_id | 否        | String   | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 响应参数
表4响应Body参数 
| **参数**          | **参数类型**         | **描述**                                                                                                                                                                                                                                               |
|:---|:---|:---|
| database_tables | Array of objects | **参数解释** **：** 表信息列表。详情请参见[表5]。 |
   
 表5DatabaseSchemaTable 
| **参数**      | **参数类型** | **描述**                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| table_name  | String   | **参数解释** **：** 表名称。 **取值范围** **：** 不涉及。       |
| schema_name | String   | **参数解释** **：** schema名称。 **取值范围** **：** 不涉及。 |
   
#### 请求示例
识别SQL文本中的表信息。
```
POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/4a89780fa1024361bcb855fed6aab89e/instances/3d39c18788b54a919bab633874c159dfin01/parse/schema-table
{
  "sql_text": "SELECT u.username, COUNT(o.id) AS total_orders FROM public.users u LEFT JOIN sales.orders o ON u.id = o.user_id GROUP BY u.username ORDER BY total_orders DESC;"  
}
```
#### 响应示例
```
{
  "database_tables": [
    {
      "table_name": "users",
      "schema_name": "public"
    },
    {
      "table_name": "orders",
      "schema_name": "sales"
    },
    {
      "table_name": "products",
      "schema_name": "inventory"
    },
    {
      "table_name": "payments",
      "schema_name": "finance"
    }
  ]
}
```
#### 状态码
- 正常 200
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_194.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_195.html)。
