16)很多系统表名都是不同的,比如,列出某个表的信息:
  select * from tab where TName='T_TEST'改成
  select table_name,table_type from information_schema.tables where table_schema = 'user' and table_name=' T_TEST '
  17)MySQL下update时不能有本身的子查询
  update T_TEST set Flag = 0 where field1 in
  (select distinct b.field1 from T_TEST b where b.flag=1)
  18)Oracle下’’和null等价,而MySQL则不然
  select 1 from dual where '' is null在Oracle下可以取到记录,在MySQL下不能
  dual表的使用,substr、trim等函数的主要使用方式和Oracle类似
  八、小结和建议
  看起来,Oracle移植到MySQL似乎挺麻烦,有没有一键完成的简单办法?呵呵,我没有找到,除非您只使用基本表,只使用基本SQL语句访问它。当然,建议大家初始设计的时侯,考虑到多数据库的支持,权衡一下使用一些高级功能带来的好处和对可移植性方面带来的损害,这会大大减少后期移植时面对的问题;另外,在应用架构设计时,也建议使用较好的框架去屏蔽这些差异,比如J2EE的Hibernate框架等。
  感谢伟大的Oracle,给我们提供了很多的高级功能,有很多是MySQL没有的,因此,在移植时你不得不放弃一些非必须的功能,比如,全表cache?物化视图?函数索引等;如果该功能是必须的,您可能要使用别的方式来实现,或者转到应用程序层面来考虑。当然,这些功能MySQL没有,不代表明天也没有,我们可以拭目以待。
  由于开源软件的原因,MySQL的bug或者缺陷有时还会干扰你,请仔细测试和优化您的应用程序,调整MySQL的配置参数,确保它可以运行得和Oracle下一样好。