跳到主要内容

执行 SQL

通过 SQL 窗口执行指定数据源上的 SQL,并返回执行决策、规则和权限预检摘要以及结果集预览。

请求地址:/openapi/v1/sql/execute

请求方法:POST

请求参数

参数类型是否必选说明示例
datasourceIdString数据源 ID。不支持数据库分组。ds-dkl5x56dhbv6
databaseNameString数据库名称。目标数据源使用库(Database)层级时支持传入。test_database
schemaNameStringSchema 名称。目标数据源使用 Schema 层级时支持传入。test_schema
sqlString要执行的 SQL 文本。SELECT 1 FROM dual

请求示例

{
"sql": "SELECT 1 FROM dual",
"datasourceId": "ds-dkl5x56dhbv6"
}

返回参数

参数类型说明示例
successBoolean请求是否成功。true
requestIdStringOpenAPI 请求 ID。Lm1d3ICW-ekllfZXnejij1TIdeia6KON
dataObject执行结果。
data.decisionString执行决策:EXECUTEDREJECTEDNEED_CONFIRMATIONNEED_SQL_TASKFAILEDEXECUTED
data.datasourceIdString数据源 ID。ds-dkl5x56dhbv6
data.databaseNameString数据库名称。未传入或目标数据源不适用时,可能为空或不返回。test_database
data.schemaNameStringSchema 名称。未传入或目标数据源不适用时,可能为空或不返回。test_schema
data.checkResultsArray规则检查和权限预检摘要。[{"hasError":false,"hasWarn":false,"allowSubmit":true,"violateList":[]}]
data.resultSetsArraySQL 执行结果集预览。[{"sqlId":"QgjvEenHoLvMsbvbhuVWPdCyKJaoTGKY","status":"success","columns":[{"name":"1","type":"NUMBER"}],"rows":[{"col1":"1"}],"affectedRows":-1,"rowCount":1,"elapsedTimeMs":32}]
messageString请求失败时的异常信息。

data.checkResults 字段

参数类型说明示例
data.checkResults[].hasErrorBoolean是否存在 Error、Syntax、Permission 等阻断项。false
data.checkResults[].hasWarnBoolean是否存在 Warning、Index 等提示项。false
data.checkResults[].allowSubmitBoolean是否允许提交后续处理。true
data.checkResults[].violateListArray规则检查发现的违规项列表。[]

data.resultSets 字段

参数类型说明示例
data.resultSets[].sqlIdString本次 SQL 的标识。QgjvEenHoLvMsbvbhuVWPdCyKJaoTGKY
data.resultSets[].statusString结果集状态。success
data.resultSets[].columnsArray返回列信息。[{"name":"1","type":"NUMBER"}]
data.resultSets[].rowsArray返回行数据。[{"col1":"1"}]
data.resultSets[].affectedRowsInteger受影响的行数。-1
data.resultSets[].rowCountInteger返回行数。1
data.resultSets[].elapsedTimeMsIntegerSQL 执行耗时,单位为毫秒。32

columns 数组中的对象包含以下字段:

参数类型说明示例
data.resultSets[].columns[].nameString列名称。1
data.resultSets[].columns[].typeString列类型。NUMBER

调用成功示例

{
"success": true,
"requestId": "Lm1d3ICW-ekllfZXnejij1TIdeia6KON",
"data": {
"decision": "EXECUTED",
"datasourceId": "ds-dkl5x56dhbv6",
"checkResults": [
{
"hasError": false,
"hasWarn": false,
"allowSubmit": true,
"violateList": []
}
],
"resultSets": [
{
"sqlId": "QgjvEenHoLvMsbvbhuVWPdCyKJaoTGKY",
"status": "success",
"columns": [
{
"name": "1",
"type": "NUMBER"
}
],
"rows": [
{
"col1": "1"
}
],
"affectedRows": -1,
"rowCount": 1,
"elapsedTimeMs": 32
}
]
}
}