在mysql 中模拟oracle中的 sequence功能

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值