/install mysql-to-oracle-sql
MySQL To Oracle SQL
Overview
将输入的 MySQL SQL 转换为 Oracle SQL,并严格执行本技能定义的定制规则。
Conversion Workflow
- 解析原始 SQL,识别表定义、字段类型、默认值、空值约束和主键定义。
- 按本技能规则逐项替换类型和默认值表达。
- 从
CREATE TABLE中移除内联主键定义,改为单独ALTER TABLE主键语句。 - 输出最终 Oracle SQL,并附简短变更说明。
Required Rules
- 所有字符串类型统一转换为
NVARCHAR2。 - 严禁输出
DEFAULT ''(空字符串默认值)。 - 字段不是
NOT NULL时,显式输出DEFAULT NULL。 BIGINT必须转换为NUMBER(20)。- 主键必须使用以下格式单独创建:
ALTER TABLE \x3CTABLE_NAME> ADD CONSTRAINT BWCT_SYS_C######## PRIMARY KEY (\x3CPK_COLUMNS>);
约束名规则:前缀固定 BWCT_SYS_C,后接 8 位随机数字(0-9)。每个主键约束都要使用新的 8 位随机数字。
Mapping Rules
VARCHAR,CHAR,MEDIUMTEXT,TINYTEXT->NVARCHAR2(按长度能力选择合适长度)BIGINT->NUMBER(20)INT->NUMBER(10)SMALLINT->NUMBER(5)TINYINT->NUMBER(3)DECIMAL(p,s)->NUMBER(p,s)DATE,DATETIME->DATETEXT,LONGTEXT->CLOB
Default Value Rules
- 若原字段可空(未声明
NOT NULL),输出字段定义时包含DEFAULT NULL。 - 若原字段为
NOT NULL且有默认值,则保留合法默认值。 - 若原字段默认值为
'',则改为DEFAULT NULL;若字段可空,则改为DEFAULT NULL。 - 若原字段为时间且默认为
DEFAULT CURRENT_TIMESTAMP时保持默认值不变。
Output Requirements
- 输出可直接在 Oracle 执行的 SQL。
- 每张表先给
CREATE TABLE,再给主键ALTER TABLE。 - 不输出 MySQL 方言(如反引号、
ENGINE=、CHARSET=)。 - 输出表和所有字段的注释SQL。
Example
输入(MySQL):
CREATE TABLE `user_info` (
`id` BIGINT NOT NULL COMMENT '主键',
`name` VARCHAR(100) DEFAULT '' COMMENT '名称',
`note` TEXT COMMENT '笔记',
PRIMARY KEY (`id`)
) ENGINE=InnoDB COMMENT='用户信息表';
输出(Oracle):
CREATE TABLE USER_INFO (
ID NUMBER(20) NOT NULL,
NAME NVARCHAR2(100) DEFAULT NULL,
NOTE CLOB DEFAULT NULL
);
ALTER TABLE USER_INFO ADD CONSTRAINT BWCT_SYS_C02512526 PRIMARY KEY (ID);
COMMENT ON TABLE USER_INFO IS '用户信息表';
COMMENT ON COLUMN USER_INFO.ID IS '主键';
COMMENT ON COLUMN USER_INFO.NAME IS '名称';
COMMENT ON COLUMN USER_INFO.NOTE IS '笔记';
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install mysql-to-oracle-sql - 安装完成后,直接呼叫该 Skill 的名称或使用
/mysql-to-oracle-sql触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 是什么?
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 108 次。
如何安装 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install mysql-to-oracle-sql」即可一键安装,无需额外配置。
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 是免费的吗?
是的,将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 支持哪些平台?
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。?
由 itxonjoe(@itxonjoe)开发并维护,当前版本 v1.0.0。