【oracle】根据oracle表生成mysql 建表语句的存储过程

本文介绍了一种方法,通过自定义的Oracle存储过程,将Oracle表结构转换为MySQL建表语句。这个过程可能需要针对具体情况进行调整以满足实际需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写了一个从oracle表生成mysql 建表语句的过程如下。

有些部分是定制化需求,需要根据实际使用场景微调。

create or replace procedure p_wjf_ora_to_mysql(i_tablename in varchar2,
                                               i_tab_owner in varchar2) as
  --declare 
  ----datatype cursor 
  cursor c_v1 is
    select a.COLUMN_NAME,
           a.DATA_TYPE,
           a.DATA_LENGTH,
           a.NULLABLE,
           a.DATA_DEFAULT,
           a.DATA_PRECISION,
           a.DATA_SCALE,
           a.COLUMN_ID
      from dba_tab_columns a
     where table_name = upper(i_tablename)
       and owner = upper(i_tab_owner)
     order by COLUMN_ID;
  v_row c_v1%rowtype;

  -----index cursor
  cursor c_v2 is
    select a.INDEX_NAME, b.CONSTRAINT_TYPE, a.owner
      from dba_indexes a, DBA_CONSTRAINTS b
     where a.TABLE_OWNER = upper(i_tab_owner)
       and a.TABLE_NAME = upper(i_tablename)
       and a.index_name = b.INDEX_NAME(+)
       and a.owner = b.INDEX_OWNER(+);
  v_row_ind c_v2%r
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值