更新时间:2023-06-16 GMT+08:00

SQL语句转换

功能介绍

SQL语句转换。

URI

POST /v1/{project_id}/sql-conversion

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户在某一Region下的Project ID。

获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

source_db_type

String

源数据库类型。

枚举值:

  • ORACLE

target_db_type

String

目标数据库类型。其中GaussDB Centralized已弃用。

枚举值:

  • RDS for MySQL
  • GaussDB(for MySQL)
  • RDS for PostgreSQL
  • GaussDB Primary/Standby
  • GaussDB Centralized

target_db_version

String

目标数据库版本。

注意:

该字段需要与 target_db_type 字段组合成有效的目标数据库类型与版本,当前支持以下组合: GaussDB Centralized-2.0(已弃用); GaussDB Primary/Standby-2.0; RDS for PostgreSQL-11; RDS for PostgreSQL-Enhanced Edition; RDS for MySQL-5.7; GaussDB(for MySQL) 8.0。

枚举值:

  • 5.7
  • 8.0
  • 11
  • 2.0
  • Enhanced Edition

sql_statement

String

需要转换的SQL语句。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

is_support_conversion

Boolean

是否支持SQL语句转换。

converted_sql_statement

String

转换后的SQL语句。

unsupported_items

Array of 表5 objects

不支持SQL语句转换的详情。

表5 UnSupportedItem

参数

参数类型

描述

reason

String

SQL语句不支持转换的原因。

suggestion

String

SQL语句不支持转换的建议。

line_number

Integer

行号。

position

Integer

位置。

请求示例

创建源库为Oracle,目标库为RDS for PostgreSQL-11版本的SQL语句转换请求。

POST https://{EndPoint}/v1/{project_id}/sql-conversion 
 
{ 
  "source_db_type" : "ORACLE", 
  "target_db_type" : "RDS for PostgreSQL", 
  "sql_statement" : "create table ugo(col1 int, col2 varchar2);", 
  "target_db_version" : "11" 
}

响应示例

状态码: 200

请求成功。

{ 
  "converted_sql_statement" : "create table ugo(col1 NUMERIC(38), col2 VARCHAR);", 
  "is_support_conversion" : true 
}

状态码

状态码

描述

200

请求成功。

错误码

请参见错误码