更新时间:2025-09-15 GMT+08:00
分享

执行SQL

功能介绍

在指定的Session下执行SQL语句。用户可通过此接口执行SQL语句,输入为SQL语句、端点id、SQL Session id、绑定参数等信息,返回语句执行结果或语句id。此接口支持异步和同步两种执行模式,由入参is_sync参数决定。如果是异步执行,配套使用接口ShowSqlStatementResult查询语句结果。如果是同步执行,接口会等待一段时间接收结果,如果执行完毕会返回执行结果,如果没有执行完毕,会返回一个运行中状态,后续可以使用接口ShowSqlStatementResult查询语句结果。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/workspaces/{workspace_id}/sessions/statements

表1 路径参数

参数

是否必选

参数类型

描述

workspace_id

String

参数解释:工作空间的ID。

约束限制:不涉及。

取值范围:长度为[1,36]的字母、数字、中划线(-)的组合。

默认取值:不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:租户token。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表3 请求Body参数

参数

是否必选

参数类型

描述

statement

String

参数解释:SQL statement信息。

约束限制:不涉及。

取值范围:[0,10000000]。

默认取值:不涉及。

limit

Integer

参数解释:limit限制。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

session_id

String

参数解释:Session的ID。

约束限制:不涉及。

取值范围:长度为[1,36]的英文字符、数字和中划线(-)等特殊字符的组合。

默认取值:不涉及。

bindings

Array<Array<String>>

参数解释:参数绑定列表。

约束限制:不涉及。

取值范围:[0,10000]。

默认取值:不涉及。

is_sync

Boolean

参数解释:同步执行或异步执行。

约束限制:不涉及。

取值范围:true:同步,false:异步。

默认取值:不涉及。

is_maintain_statement

Boolean

参数解释:是否来自运维通道。

约束限制:不涉及。

取值范围:true:运维通道语句,false:不是运维通道语句。

默认取值:不涉及。

resultset_fetch_mode

String

参数解释:获取结果集的方式。

约束限制:不涉及。

取值范围:DEFAULT:直接返回结果集;READ_OBS:返回结果集在桶上的路径,而不是直接返回结果集。

默认取值:DEFAULT。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

-

String

执行SQL的响应信息,String格式,可见响应示例。

状态码: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]。

默认取值:不涉及。

状态码:404

表7 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

状态码:408

表8 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

状态码:500

表9 响应Body参数

参数

参数类型

描述

error_code

String

参数解释:错误码。

约束限制:不涉及。

取值范围:长度[8,36]。

默认取值:不涉及。

error_msg

String

参数解释:错误描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

solution_msg

String

参数解释:解决方案描述。

约束限制:不涉及。

取值范围:长度[2,4096]。

默认取值:不涉及。

请求示例

在指定的Session下执行SQL语句。用户可通过此接口执行SQL语句,输入为SQL语句、端点id、SQL Session id、绑定参数等信息,返回语句执行结果或语句id。此接口支持异步和同步两种执行模式,由入参is_sync参数决定。如果是异步执行,配套使用接口ShowSqlStatementResult查询语句结果。如果是同步执行,接口会等待一段时间接收结果,如果执行完毕会返回执行结果,如果没有执行完毕,会返回一个运行中状态,后续可以用使用接口ShowSqlStatementResult查询语句结果。

POST https://endpoint/v1/workspaces/{workspace_id}/sessions/statements

{
  "statement" : "select * from aaa",
  "limit" : 100,
  "session_id" : "string",
  "bindings" : [ [ "string" ] ],
  "is_maintain_statement" : false,
  "resultset_fetch_mode" : "DEFAULT",
  "is_sync" : true
}

响应示例

状态码:200

OK

{
  "status" : 1,
  "session_id" : "6399466e-8908-4c9d-8399-48479c8b06f7",
  "statement_id" : "49131d25-1824-4f29-860c-832bdd19dfd3"
}

状态码:400

BadRequest

{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}

状态码:401

Unauthorized

{
  "error_code" : "APIG.1002",
  "error_msg" : "Incorrect token or token resolution failed"
}

状态码:403

Forbidden

{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "title" : "Forbidden"
  },
  "error_code" : 403,
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}

状态码:404

NotFound

{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}

状态码:408

Request Time-out

{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}

状态码:500

InternalServerError

{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}

状态码

状态码

描述

200

OK

400

BadRequest

401

Unauthorized

403

Forbidden

404

NotFound

408

Request Time-out

500

InternalServerError

错误码

请参见错误码

相关文档