/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 '笔记';
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install mysql-to-oracle-sql - After installation, invoke the skill by name or use
/mysql-to-oracle-sql - Provide required inputs per the skill's parameter spec and get structured output
What is 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。?
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 It is an AI Agent Skill for Claude Code / OpenClaw, with 108 downloads so far.
How do I install 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。?
Run "/install mysql-to-oracle-sql" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 free?
Yes, 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 support?
将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。 is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created 将 MySQL SQL(尤其是建表 DDL)转换为 Oracle SQL。用户提到“转为oracle”或“转换oracle”,或明确要求把 MySQL 语句改成 Oracle 语句时必须使用此技能。转换时强制执行类型、默认值和主键约束命名规则。?
It is built and maintained by itxonjoe (@itxonjoe); the current version is v1.0.0.