MySQL与Oracle的区别

时间:2022-04-11 16:04:37

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语句是按照主键的大小排序的,小的排在前面。