MySQL与Oracle的区别
2016-01-05 18:58
387 查看
1、语法上的区别
变量类型定义、IN OUT的位置、变量定义的位置、游标的位置、异常的位置;
2、MySQL没有 return 关键字,采用leave label的方式结束循环或跳出存储
3、异常处理 MySQL根据返回的错误码处理异常
4、锁
假如设置为自动加锁,则加锁语句执行完成后会自动提交,然后释放锁;select * from table1 where ………… for update;这句话执行完成后就会释放锁。这样的话某些情况下不能避免冲突,如后面需要update时;对于Oracle 则可以用 for uodate wait 10;即等待超过10秒即抛出异常
所以对于MySQL 一般都设置为手动释放锁,采用commit 或 rollback语句释放。
5、Oracle取前三条数据 rownum<=3 MySQL: limit 0,3
6、nvl(var1,var2) = ifnull(var1,var2)
7、设置表字段 时间类型,设为默认为当前时间 MySQL: current_timestamp Oracle:SYSDATE
8、Oracle数组 TYPE type_array IS VARRAY(5) OF NUMBER(10);
9、oracle select语句,默认排序是按照插入的先后顺序排序的;先插入的排在前面
MySQL select语句是按照主键的大小排序的,小的排在前面。
变量类型定义、IN OUT的位置、变量定义的位置、游标的位置、异常的位置;
2、MySQL没有 return 关键字,采用leave label的方式结束循环或跳出存储
3、异常处理 MySQL根据返回的错误码处理异常
4、锁
假如设置为自动加锁,则加锁语句执行完成后会自动提交,然后释放锁;select * from table1 where ………… for update;这句话执行完成后就会释放锁。这样的话某些情况下不能避免冲突,如后面需要update时;对于Oracle 则可以用 for uodate wait 10;即等待超过10秒即抛出异常
所以对于MySQL 一般都设置为手动释放锁,采用commit 或 rollback语句释放。
5、Oracle取前三条数据 rownum<=3 MySQL: limit 0,3
6、nvl(var1,var2) = ifnull(var1,var2)
7、设置表字段 时间类型,设为默认为当前时间 MySQL: current_timestamp Oracle:SYSDATE
8、Oracle数组 TYPE type_array IS VARRAY(5) OF NUMBER(10);
9、oracle select语句,默认排序是按照插入的先后顺序排序的;先插入的排在前面
MySQL select语句是按照主键的大小排序的,小的排在前面。
相关文章推荐
- Oracle表 序列 约束 视图 索引的操作
- oracle 递归查询的例子
- oracle查询指定月份数据
- oracle 字符串截取
- ORA-01940
- oracle 开发 第02章 查询
- 批量move table\者重建索引
- ORACLE水位线讲解
- Oracle 12c: RMAN restore/recover pluggable database
- C#连接Oracle数据库的简单应用
- Oracle连接字符串总结
- oracle数据库表空间
- C# 连接 Oracle 的几种方式
- oracle 删除用户,提示“无法删除当前已连接的用户”
- oracle数据库之快速精简教程
- 如何提高oracle的查询速度(详解)
- oracle创建表空间
- 用mysql实现类似于oracle dblink的功能
- Windows C盘格式化或者同平台迁移oracle数据库
- oracle之使用dblink操作远程数据库