mysql创建表语句转换为oracle创建表语句

SELECT CONCAT('CREATE TABLE ',T.TABLE_NAME,'  (') cre_sql FROM TABLES T  WHERE T.TABLE_NAME = 'basic_ent'

UNION ALL 

#字段信息

SELECT CONCAT(T.COLUMN_NAME,'   ',

       REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(T.COLUMN_TYPE,'varchar','varchar2'),'datetime','date'),

       'decimal','number'),'text','clob'),'bigint','NUMBER'),'tinyint','NUMBER'),'int','NUMBER'),'double','NUMBER') ,

       '  ',(CASE WHEN T.IS_NULLABLE = 'NO' THEN 'NOT NULL ' ELSE 'NULL' END), '  ,') ZD                                  

FROM COLUMNS  T WHERE  T.TABLE_NAME = 'basic_ent' 

UNION ALL

#主键信息

SELECT CONCAT('CONSTRAINT PK_',T.TABLE_NAME,' PRIMARY KEY (',GROUP_CONCAT(T.COLUMN_NAME SEPARATOR ','),')')  

 FROM COLUMNS  T WHERE  T.TABLE_NAME = 'basic_ent' AND T.COLUMN_KEY = 'PRI'

UNION ALL

SELECT ') ;'

UNION ALL

#表注释

SELECT CONCAT('COMMENT ON table','  ',T.TABLE_NAME,'  IS  ''',T.TABLE_COMMENT,'''  ;') FROM TABLES T  WHERE T.TABLE_NAME = 'basic_ent'

UNION ALL

#字段注释

SELECT CONCAT('comment on column  ',T.TABLE_NAME,'.',T.COLUMN_NAME,'  IS  ''',T.COLUMN_COMMENT,'''  ;')                                    

FROM COLUMNS  T WHERE  T.TABLE_NAME = 'basic_ent' ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值