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

Oracle µÄrownum Ô­ÀíºÍʹÓà ¼°ÓërowidµÄÇø±ð

Oracle µÄrownum Ô­ÀíºÍʹÓÃ
ÔÚOracle ÖУ¬Òª°´Ìض¨Ìõ¼þ²éѯǰNÌõ¼Ç¼£¬Óøörownum ¾Í¸ã¶¨ÁË¡£
select * from emp where rownum <= 5
¶øÇÒÊéÉÏÒ²¸æ½ë£¬²»ÄܶÔrownum ÓÃ">"£¬ÕâÒ²¾ÍÒâζ×Å£¬Èç¹ûÄãÏëÓÃ
select * from emp where rownum > 5
ÔòÊÇʧ°ÜµÄ¡£ÒªÖªµÀΪʲô»áʧ°Ü£¬ÔòÐèÒªÁ˽ârownum ±³ºóµÄ»úÖÆ£º
1 Oracle executes your query.
2 Oracle fetches the first row and calls it row number 1.
3 Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Oracle return the row.
4 Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
5 Go to step 3.
Á˽âÁËÔ­Àí£¬¾ÍÖªµÀrownum >²»»á³É¹¦£¬ÒòΪÔÚµÚÈý²½µÄʱºò²éѯ³öµÄÐÐÒѾ­±»¶ªÆú£¬µÚËIJ½²é³öÀ´µÄrownum ÈÔÈ»ÊÇ1,ÕâÑùÓÀÔ¶Ò²²»»á³É¹¦¡£
ͬÑùµÀÀí£¬rownum Èç¹ûµ¥¶ÀÓÃ=,Ò²Ö»ÓÐÔÚrownum =1ʱ²ÅÓÐÓá£
¶ÔÓÚrownum À´ËµËüÊÇoracle ϵͳ˳Ðò·ÖÅäΪ´Ó²éѯ·µ»ØµÄÐеıàºÅ£¬·µ»ØµÄµÚÒ»ÐзÖÅäµÄÊÇ1£¬µÚ¶þÐÐÊÇ2£¬ÒÀ´ËÀàÍÆ£¬Õâ¸öα×ֶοÉÒÔÓÃÓÚÏÞÖÆ²éѯ·µ»ØµÄ×ÜÐÐÊý£¬¶øÇÒrownum ²»ÄÜÒÔÈκαíµÄÃû³Æ×÷Ϊǰ׺¡£
 ¾ÙÀý˵Ã÷£º
ÀýÈç±í£ºstudent(ѧÉú)±í£¬±í½á¹¹Îª£º
ID¡¡¡¡¡¡    char(6)¡¡¡¡¡¡¡¡¡¡ --ѧºÅ
name¡¡¡¡¡¡¡¡VARCHAR2(10)¡¡¡¡¡¡--ÐÕÃû
create table student (ID char(6), name VARCHAR2(100));
insert into sale values('200001',‘ÕÅÒ»’);
insert into sale values('200002',‘Íõ¶þ’);
insert into sale values('200003',‘ÀîÈý’);
insert into sale values('200004',‘ÕÔËÄ’);
commit;
(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 =1;
    ROWNUM ID     NAME
---


Ïà¹ØÎĵµ£º

²»°²×°oracle¿Í»§¶Ë²¿ÊðPBÓ¦ÓÃ

£­£­Õª×Ô¡¶PB8.0½ø½×ƪ¡·          
  ÔÚ°²×°ÁËOracle¿Í»§¶Ë³ÌÐòºó£¬ÔÚOracle°²×°Ä¿Â¼ÏÂÓÐÈçÏÂĿ¼ºÍÎļþÊÇÁ¬½ÓOracleÊý¾Ý¿â·þÎñÆ÷Ëù±ØÐèµÄ£º£¨×îºÃ±£³ÖĿ¼²ã´Î¹ØÏµ½á¹¹£©      
  Oracle\BINĿ¼ÒÔ¼°ÏÂÃæµÄËùÓÐDLLÎļþ£¬²¢ÇÒ±£Ö¤Ó¦ÓóÌÐò¿ÉÒÔÕÒµ½¸ÃĿ¼£¬¼´¸ÃĿ¼ ......

Java¿ª·¢OracleÊý¾Ý¿âµÄORA 01000´íÎó½âÎö

ºÜ¶àÅóÓÑÔÚJava¿ª·¢ÖУ¬Ê¹ÓÃOracleÊý¾Ý¿âµÄʱºò£¬¾­³£»áÅöµ½ÓÐORA-01000: maximum open cursors exceeded.µÄ´íÎó¡£
ʵ¼ÊÉÏ£¬Õâ¸ö´íÎóµÄÔ­Òò£¬Ö÷Òª»¹ÊÇ´úÂëÎÊÌâÒýÆðµÄ¡£
ora-01000: maximum open cursors exceeded.
±íʾÒѾ­´ïµ½Ò»¸ö½ø³Ì´ò¿ªµÄ×î´óÓαêÊý¡£
ÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔ­ÒòÊÇ£ºJava´úÂëÔÚÖ´ ......

oracleÖÐÖ´Ðд洢¹ý³Ì

´´½¨ÁËÒ»oracleµÄ¶¨Ê±ÈÎÎñ£¬¶¨Ê±µÄ½«Ò»¸ö±íÖеļǼ²åÈëµ½ÁíÒ»¸ö±íÖУ¬²éѯµÄʱºò±íÖо¹È»Ã»Êý¾Ý£¬ÔÚpl/sqlÖв鿴½¨µÄÈÎÎñ·¢ÏÖfailuresµÄֵΪ3£¬ÄѵÀ½¨µÄ´æ´¢¹ý³ÌÓÐ´í£¿ÔËÐÐһϴ洢¹ý³ÌÊÔÊÔ°É£¬²éÊý¾Ý¿âÊ飬ִÐд洢¹ý³ÌÃüÁîÊÇ£ºcall procedure ¹ý³ÌÃû£»
Ö´ÐÐÒ»ÏÂÃüÁ²»¶Ô£¿ÔÙ´ÓÍøÉϲé°É£¬Ò»²é£¬oracleÖÐÖ´Ðд洢¹ý³ÌµÄ ......

Oracle sqlplus set

oracel sqlplus
1). ÉèÖõ±Ç°sessionÊÇ·ñ¶ÔÐ޸ĵÄÊý¾Ý½øÐÐ×Ô¶¯Ìá½»
SQL>SET AUTO[COMMIT] {ON|OFF|IMM[EDIATE]| n}
2)£®ÔÚÓÃstartÃüÁîÖ´ÐÐÒ»¸ösql½Å±¾Ê±£¬ÊÇ·ñÏÔʾ½Å±¾ÖÐÕýÔÚÖ´ÐеÄSQLÓï¾ä
SQL> SET ECHO {ON|OFF}
3).ÊÇ·ñÏÔʾµ±Ç°sqlÓï¾ä²éѯ»òÐ޸ĵÄÐÐÊý
SQL> SET FEED[BACK] {6|n|ON|OFF}
ĬÈÏÖ»Óн ......

oracle ´´½¨¹ý³Ì

create table test1 as select 1 id,'create table test2(id number,name varchar2(200));insert into test2 values(1,''a'');' sqltext from dual
  2  union all select 2,'truncate table test2;' from dual
  3  union all select 3,'insert into test2 select rownum,dbms_random.string(''l'', ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ