Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

(Oracle£©rownumÓ÷¨Ïê½â

(Oracle£©rownumÓ÷¨Ïê½â
2008-08-06 15:41
¶ÔÓÚrownumÀ´ËµËüÊÇoracleϵͳ˳Ðò·ÖÅäΪ´Ó²éѯ·µ»ØµÄÐеıàºÅ£¬·µ»ØµÄµÚÒ»ÐзÖÅäµÄÊÇ1£¬µÚ¶þÐÐÊÇ2£¬ÒÀ´ËÀàÍÆ£¬Õâ¸öα×ֶοÉÒÔÓÃÓÚÏÞÖÆ²éѯ·µ»ØµÄ×ÜÐÐÊý£¬ÇÒrownum²»ÄÜÒÔÈκαíµÄÃû³Æ×÷Ϊǰ׺¡£
(1) rownum ¶ÔÓÚµÈÓÚijֵµÄ²éѯÌõ¼þ
Èç¹ûÏ£ÍûÕÒµ½Ñ§Éú±íÖеÚÒ»ÌõѧÉúµÄÐÅÏ¢£¬¿ÉÒÔʹÓÃrownum=1×÷ΪÌõ¼þ¡£µ«ÊÇÏëÕÒµ½Ñ§Éú±íÖеڶþÌõѧÉúµÄÐÅÏ¢£¬Ê¹ÓÃrownum=2½á¹û²é²»µ½Êý¾Ý¡£ÒòΪrownum¶¼ÊÇ´Ó1¿ªÊ¼£¬µ«ÊÇ1ÒÔÉϵÄ×ÔÈ»ÊýÔÚrownum×öµÈÓÚÅжÏÊÇʱÈÏΪ¶¼ÊÇfalseÌõ¼þ£¬ËùÒÔÎÞ·¨²éµ½rownum = n£¨n>1µÄ×ÔÈ»Êý£©¡£
SQL> select rownum,id,name from student where rownum=1;£¨¿ÉÒÔÓÃÔÚÏÞÖÆ·µ»Ø¼Ç¼ÌõÊýµÄµØ·½£¬±£Ö¤²»³ö´í£¬È磺ÒþʽÓα꣩
SQL> select rownum,id,name from student where rownum =2;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
£¨2£©rownum¶ÔÓÚ´óÓÚijֵµÄ²éѯÌõ¼þ
   Èç¹ûÏëÕÒµ½´ÓµÚ¶þÐмǼÒÔºóµÄ¼Ç¼£¬µ±Ê¹ÓÃrownum>2ÊDz鲻³ö¼Ç¼µÄ£¬Ô­ÒòÊÇÓÉÓÚrownumÊÇÒ»¸ö×ÜÊÇ´Ó1¿ªÊ¼µÄαÁУ¬Oracle ÈÏΪrownum> n(n>1µÄ×ÔÈ»Êý)ÕâÖÖÌõ¼þÒÀ¾É²»³ÉÁ¢£¬ËùÒԲ鲻µ½¼Ç¼¡£
²éÕÒµ½µÚ¶þÐÐÒÔºóµÄ¼Ç¼¿ÉʹÓÃÒÔϵÄ×Ó²éѯ·½·¨À´½â¾ö¡£×¢Òâ×Ó²éѯÖеÄrownum±ØÐëÒªÓбðÃû£¬·ñÔò»¹ÊDz»»á²é³ö¼Ç¼À´£¬ÕâÊÇÒòΪrownum²»ÊÇij¸ö±íµÄÁУ¬Èç¹û²»Æð±ðÃûµÄ»°£¬ÎÞ·¨ÖªµÀrownumÊÇ×Ó²éѯµÄÁл¹ÊÇÖ÷²éѯµÄÁС£
SQL>select * from(select rownum no ,id,name from student) where no>2;
        NO ID     NAME
---------- ------ ---------------------------------------------------
         3 200003 ÀîÈý
         4 200004 ÕÔËÄ
£¨3£©rownum¶ÔÓÚСÓÚijֵµÄ²éѯÌõ¼þ
rownum¶ÔÓÚrownum<n£¨(n>1µÄ×ÔÈ»Êý£©µÄÌõ¼þÈÏΪÊdzÉÁ¢µÄ£¬ËùÒÔ¿ÉÒÔÕÒµ½¼Ç¼¡£
SQL> select rownum,id,name from student where rownum <3;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
        1 200001 ÕÅÒ»
   


Ïà¹ØÎĵµ£º

OracleÖÐstart with...connect by prior×Ó¾äÓ÷¨

connect by Êǽṹ»¯²éѯÖÐÓõ½µÄ£¬Æä»ù±¾Óï·¨ÊÇ£º
select ... from tablename start with Ìõ¼þ1
connect by Ìõ¼þ2
where Ìõ¼þ3;
Àý£º
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
¼òµ¥ËµÀ´Êǽ«Ò»¸öÊ÷×´½á¹¹´æ´¢ÔÚÒ»ÕűíÀ±ÈÈçÒ»¸ö±íÖдæÔÚÁ½¸ö×Ö¶Î:
......

oracle ×Ô¶¯Ôö³¤ÁÐ Àý×Ó

--´´½¨ÐòÁÐ
create sequence innerid
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20
order;
--´´½¨±í
create table users(
userid int primary key,
username   varchar2(20),
userpwd    varchar2(20)
);
select * from users;
insert into users values( ......

oracleÖ´Ðмƻ®µÄһЩ¸ÅÄî

oracleÖ´Ðмƻ®µÄһЩ¸ÅÄî(»ù´¡µÄ¼ÇÒä) 
¿ªÊ¼Ñ§Ï°ORACLEÓï¾äÓÅ»¯,´ÓÖ´Ðмƻ®¿ªÊ¼,ÏÈÊìϤÕâЩÃû´ÊÒÔ¼°»ù±¾º¬Òå,¼ÇÒäÔÚÎÒÄÔ×ÓÀï,2010-04-10
Rowid£ºÏµÍ³¸øoracleÊý¾ÝµÄÿÐи½¼ÓµÄÒ»¸öαÁУ¬°üº¬Êý¾Ý±íÃû³Æ£¬Êý¾Ý¿âid£¬´æ´¢Êý¾Ý¿âidÒÔ¼°Ò»¸öÁ÷Ë®ºÅµÈÐÅÏ¢£¬rowidÔÚÐеÄÉúÃüÖÜÆÚÄÚΨһ¡£
Recursive sql£ºÎªÁËÖ´ÐÐÓû§Óï¾ ......

OracleÊý¾Ý¿âÖÐsysºÍsystemÁ½¸öÓû§µÄÇø±ð

     sysÊÇOracleÊý¾Ý¿âÖÐȨÏÞ×î¸ßµÄÕʺţ¬¾ßÓÐcreate databaseµÄȨÏÞ£¬¶øsystemûÓÐÕâ¸öȨÏÞ£¬sysµÄ½ÇÉ«ÊÇsysdba£¬systemµÄ½ÇÉ«ÊÇsysoper¡£
¡¡¡¡ÆäÓà¾ÍÊÇËûÃÇÁ½¸öÓû§¹²ÓеÄȨÏÞÁË£º
¡¡¡¡startup/shutdown/dbaÁ½¸öÓû§¶¼ÊÇ¿ÉÒÔ¹ÜÀíµÄ¡£
¡¡¡¡Æ½Ê±ÓÃsystemÀ´¹ÜÀíÊý¾Ý¿â¾Í¿ÉÒÔÁË¡£Õâ¸öÓû§µÄȨÏÞ¶Ô ......

Oracle ROLLUPºÍCUBE Ó÷¨

ÔÚ×öÏîÄ¿¾­³£Óöµ½·Ö¿ÆÊÒ¡¢ÈËÔ±½øÐлã×ܵÄÎÊÌ⣬ÔÚORACLEÖжԴËÀàÎÊÌâµÄ´¦ÀíÏ൱·½±ã£¡ÏÂÃæÒÔÏîÄ¿ÖÐÓöµ½µÄʵÀý½øÐÐ˵Ã÷£º
²éѯÓï¾äÈçÏ£º
select f_sys_getsectnamebysectid(a.sectionid) as sectname,
        --a.sectionid,
       f_sys_employin ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ