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

[ORACLE]ORACLE 实现mysql中的limit 功能

2010-02-03 11:17 513 查看
项目从mysql迁移到ORACLE中遇到移植问题,mysql中支持limit 而ORACLE say no .

解决方法 利用ORACLE的伪列 rownum来控制。。

Mysql : select * from table limit 10

equl

ORACLE: select * from table where rownum <= 10

 

ORACLE 伪列介绍:

随数据字典一起自动创建的一个表,属于sys模式,任何用户都可以访问, 只有一列dummy(varchar2(1)),返回值也只有一行,
因此,在进行select 计算常量表达式或者伪列时常常用到.

oracle中的常用到的伪列:

序列  

  currval:序列當前值  

  nextval:序列的新值       

 
level:层次查询中的层数    

  rowid:特定的行表識符      

  rownum:行序號

用法:

序列:  

  create   sequence   sequence1;    

  currval:  

 
select   sequence1.currval   from   dual;  

  nextval:  

 
select   sequence1.nextval   from   dual;   

    

  在insert  
into中也可以:  

  insert   into   tableName(id1)  
values(sequence1.nextval);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle mysql insert table