1.mysql中有自增长,oracle用新建sequence代替。

2.在实体类的id要指定相关的sequence

@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_pl_policy")     
   @SequenceGenerator(name="seq_pl_policy",allocationSize=1,initialValue=1, sequenceName="seq_pl_policy")

3.注意数据库中的数据类型改动,比如text转为clob等

4.注意数据库中列的名称中不能含有oracle中的关键词,如:size,date等

5.在sql代码中,oracle比mysql严格;例子如下:

  mysql中可以写group by createtime desc而oracle只能写group by createtime。

  mysql中可以出现size和date作为别名,但oracle会报错。

  mysql中可以使用“||”,而oracle只能用or。

  mysql中别名可以是 AS 'highLevelNum' ,而oracle只能是AS  highLevelNum

  mysql中在select中可以出现非group by 中的列,而oracle中必须是只能是group by中的列。如:

mysql中:select t.c_eve_level as evelevel,to_char(t.c_create_time,"yyyymmddhh24") as evetime,sum(t.c_match_num) as evematch

       from t_eve t

      where 1 = 1 and (t.c_from_email <> NULL or t.c_from_email <> '')

      group by t.c_eve_level,t.c_create_time

      order by t.c_create_time desc

  oracle中:select t.c_eve_level as evelevel,to_char(t.c_create_time,"yyyymmddhh24") as evetime,sum(t.c_match_num) as evematch

       from t_eve t

      where 1 = 1 and (t.c_from_email <> NULL or t.c_from_email <> '')

      group by t.c_eve_level,to_char(t.c_create_time,,"yyyymmddhh24")

      order by to_char(t.c_create_time,,"yyyymmddhh24") desc

6.sql脚本中用到的函数,mysql和oracle也不同。

  mysql中用ifnull,oracle用nvl或decode。

  mysql中用left,oracle用substr。

  mysql中用if,oracle可以用decode。

  mysql中用dateformat,oracle可以用to_char。

  mysql可以用日期和相同格式的字符串比较,而oracle只能用转成相同类型再比较。

7.在oracle中如果一个事务中执行的sql较多,就会报错。可以在配置文件id为sessionFactory中添加<prop key="hibernate.jdbc.batch_size">50</prop>

mysql转oracle注意事项的更多相关文章

  1. SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)

    原文:SQL Server的链接服务器(MySQL.Oracle.Ms_sql.Access.SYBASE) 一.使用 Microsoft OLE DB Provider For ODBC 链接MyS ...

  2. 《物联网框架ServerSuperIO教程》-19.设备驱动和OPC Client支持mysql、oracle、sqlite、sqlserver的持久化。v3.6.4版本发布

    19.设备驱动和OPC Client支持mysql.oracle.sqlite.sqlserver的持久化 19.1     概述 ServerSuperIO支持设备驱动和OPC Client采集的数 ...

  3. 【无私分享:ASP.NET CORE 项目实战(第十二章)】添加对SqlServer、MySql、Oracle的支持

    目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 增加对多数据库的支持,并不是意味着同时对多种数据库操作,当然,后面,我们会尝试同时对多种数据库操作,这可能需要多个上下文,暂且 ...

  4. MySQL、Oracle和SQL Server的分页查询语句

    假设当前是第PageNo页,每页有PageSize条记录,现在分别用Mysql.Oracle和SQL Server分页查询student表. 1.Mysql的分页查询: SELECT * FROM s ...

  5. MySql类似Oracle的dual虚拟表

    在mysql里也存在和oracle里类似的dual虚拟表:官方声明纯粹是为了满足select ... from...这一习惯问题,mysql会忽略对该表的引用. 你可千万注意了: select * f ...

  6. MySQL与Oracle的主要区别

    Mysql与Oracle区别 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高. 2. ...

  7. MySql和Oracle的日期转换到底有哪些不同?我们来比较一下

    1.MySql和Oracle的日期转换 mysql中有2种日期格式DATE和TIME,oracle只有一种日期格式DATE. oracle> select to_char(sysdate,'yy ...

  8. 数据库MySQL与Oracle的一些去O注意项

    一.oracle递归查询语句start with ...connect by prior ① 给你一张表,表里面有主键id,以及该项的父节点parent_id,查询出该表中所有的父子关系节点树? Or ...

  9. Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver

    此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源 ...

随机推荐

  1. SharedPrefences的用处

    存储数据 SharedPreferences.Editor edit = getSharedPreferences("data", MODE_PRIVATE).edit(); ed ...

  2. jsp 访问文件夹中的图片,tomcat配置虚拟目录

    1.配置hosts文件 找到C:\Windows\System32\drivers\etc\hosts.txt 文件 添加127.0.0.1  www.image.com  在dos 命令中执行 pi ...

  3. 批处理 reg add /?

    C:\Users\Administrator>reg add /? REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [ ...

  4. redis 其他特性

    1.消息订阅与发布 subscribe my1 订阅频道 psubscribe my1* 批量订阅频道,订阅以my1开头的所有频道 publish my1 hello 在指定频道中发布消息,返回值为接 ...

  5. XP禁用了U盘和移动硬盘方法

    会不会是你XP禁用了U盘和移动硬盘下面这些是任何禁用U盘的!你自己反着试下嘛!方法一,BIOS设置法(快刀斩乱麻法) 进入BIOS设置,选择“Integrated Peripherals”选项,展开后 ...

  6. 瀑布流布局js

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  7. 06网络通信udp-tcp、正则

    一. udp网络程序 1.    udp网络程序-发送数据 1)创建客户端套接字 2)发送/接收数据 3)关闭套接字 from socket import * # 1. 创建udp套接字 udp_so ...

  8. pip各种

    pip: 一个现代的,通用的 Python 包管理工具.提供了对Python 包的查找.下载.安装.卸载的功能. windows:自带pip,直接使用. Linux:执行下面命令即可完成安装. # w ...

  9. Data of Ch5 --Dual rotor

    * Results *Conclusion*- little effect of rear rotor on Cp_1- Cp1 is independent of TI** TI effect on ...

  10. C语言学习1

    一.初识C语言 1.1 C语言的起源 1972年,贝尔实验室的丹尼斯,里奇和肯,汤普逊在开发UNIX操作系统时设计了C语言,然而,C语言不完全是里奇突发奇想出来的,他是在B语言的基础上进行设计的,至于 ...