作者petertc (PTC)
看板Database
标题Re: [系统] oracle转移到mysql
时间Sun Aug 31 16:51:34 2008
※ 引述《petertc (PTC)》之铭言:
: 大家好
: 一个问题请教一下
: 我想把在oracle的资料库转移到mysql
: 查了资料,大部分事mysql转oracle
: 请问在业界大家通常都怎麽处理这样的case呢?
: 感谢~
後来找到一个工具好像可以办好这件事:SQLways
http://www.ispirer.com/products
不知道有没有人用过?
我已经人工搬的差不多了,所以没试过他的wizard,只有用SQL converter转我程式的sql
简单的SQL他应该都可以帮你转好啦,for example:
SELECT COUNT (NO) FROM BANKINFORM WHERE BANKINFORM.END_TIME >= SYSDATE-7 AND
BANKINFORM.BEGIN_TIME <= SYSDATE
经过转换就会变成:
SELECT COUNT(`NO`) FROM BANKINFORM WHERE BANKINFORM.END_TIME >=
CURRENT_TIMESTAMP -7 AND BANKINFORM.BEGIN_TIME <= CURRENT_TIMESTAMP;
但是在用的时候也有发现问题,像是这段code:
SELECT to_char(TIME,'MM/DD') AS TIME, (DEPOSIT-WITHDRAWAL) AS TOTAL,MEMO FROM
TRANSACTION_ACCT WHERE TRANSACTION_ACCT.ACCOUNT_NO ='49421045' ORDER BY
TO_NUMBER(TRANSACTION_ACCT.NO) DESC
他转出来的丢到mysql client commend会错误:
SELECT STR(`TIME`,'MM/DD') `TIME`,(DEPOSIT -WITHDRAWAL) TOTAL,MEMO FROM
TRANSACTION_ACCT WHERE TRANSACTION_ACCT.ACCOUNT_NO = '49421045' ORDER BY
CAST(TRANSACTION_ACCT.`NO` AS unsigned) DESC;
正确的SQL:
SELECT DATE_FORMAT(TIME,'%m/%d') AS "TIME", (DEPOSIT-WITHDRAWAL) AS
"TOTAL",MEMO FROM TRANSACTION_ACCT WHERE TRANSACTION_ACCT.ACCOUNT_NO
='49421045' ORDER BY CAST(TRANSACTION_ACCT.NO AS SIGNED) DESC
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.139.111
1F:推 diamondking:我记得MySQL自己的管理工具就有转到MySQL的功能了 09/03 00:02