您的位置:首页 > 数据库 > Oracle

在mysql 中模拟oracle中的 sequence功能

2014-10-24 14:55 351 查看
1.在oracle中启用 sequence : create sequence a_seq minvalue 1 maxvalue 9999 start with 1 increment by 1 cache 100;

select t.*,a_seq.nextval from tablename t

在mysql 中类似的是 auto_increment 

2.rownum 使用可以代替sequence(步长只能是1 start也只能是1) rownum作为条件 只能< ,使用大于,row_number() over() select .. from row_number() over(order by xx) rk

from emp) t  //

实例化 rownum rk;

SELECT empno, ename, job, mgr, hiredateFROM (SELECT empno, ename, job, mgr, hiredate,ROW_NUMBER() OVER(ORDER BY empno) rkFROM emp) tWHERE rk > 2 

select  t.* from (select *,rownum rn from tablename) t where rn > 10;

3.rowid 对象号(6个字符)         文件号(3个字符)       块号(6个字符)       行号(3个字符) eg AAAO0f            -     AAF              -    AAAAlm         -    AAA    参考:http://blog.csdn.net/leshami/article/details/6931886

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle 对象 实例 cache