数据库迁移(二):存储过程迁移

要注意:mysql只有在5.1以及以上才能够使用事件,我这里用的是windows的定时任务。

新建函数--过程--复制Oracle中的过程,然后更换一些在mysql中不能用的方法替换掉,如:

to_date换成date_format等;

trunc(),from dual等可以直接去掉;

时间类型转换成'%Y-%m-%d',sysdate+(),date_format( sysdate(),'%Y')-1(可以直接减一得到前一年,月同理),DATE_sub(date_format(  sysdate(),'%Y-%m-%d'),INTERVAL 1 DAY) into last_day(这是前一天) ;

<>转换成!=;

字符串拼接的时候要加上concat();

loop方法的替换(我用的是repeat):

 BEGIN

declare yy CURSOR  FOR select xx from xx t where date_format((t.xx),'%Y') =  xx ;

open yy;
                repeat
                    fetch yy into zz;

BEGIN

....

end;

until done end repeat;

close yy;

END;

sql语句转变:

declare xx decimal;

begin

set xx = concat('INSERT INTO yy(ID,...)
                    values(',@id,',...);//注意格式
                    set @id = xx;
                    prepare temp from @id;
                    execute temp;
                    deallocate prepare temp;

end;

全部转换好保存,在定时任务我参考了下面网址的,非常感谢悟之思语

http://blog.csdn.net/jbjwpzyl3611421/article/details/17389543



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值