pl/sql - Oracle / ¿ª·¢
¸ø³öÁ½¸ö±í: membres: numero (Ö÷¼ü) name Emprunts: numero (Ö÷¼ü) membre (Íâ¼ü¶ÔÓ¦membresµÄnumero) creele (´´½¨Ê±¼ä) ÒªÇóʹÓÃpl/sqlÓï¾ä¿éÏÔʾ×î½ü10¸öÔÂÒÔÀ´ÔÚemprunts±íÀïÃæ¼Ç¼ǰÈý¸ö×î¶àµÄÈ˵ÄÃû×Ö(name)ÒÔ¼°Ç°Èý¸ö×îÉÙµÄÈ˵ÄÃû×Ö. ±¾È˸սӴ¥ÕâÒ»¿é, ²»ÊǺÜÃ÷°×, Ï£Íû¸÷λ¸ßÊÖÖ¸µãÖ¸µã. лл
Oracle¿ª·¢×îºÃÊÇ£º ÓÅÏÈÑ¡ÔñSQL£¬SQL¸ã²»¶¨ÔÙÓÃPL/SQL,PL/SQL¸ã²»¶¨ÓÃÆäËûµÄ±ÈÈçÍⲿ¹ý³ÌÖ®ÀàµÄ ÓÃSQL½â¾öºÃ´¦¶à¶à WITH TEMP AS (SELECT membre ,COUNT(*) AS CNT from Emprunts GROUP BY membre) --ÏÈÈ¡×î¶àÈý¸ö SELECT name from TEMP T,membres M WHERE T.membre=M.numero AND ROWNUM<=3 ORDER T.CNT ASC UNION ALL --ÏÈÈ¡×î¶àÈý¸ö SELECT name from TEMP T,membres M WHERE T.membre=M.numero AND ROWNUM<=3 ORDER T.CNT DESC Ö±½ÓÒ»ÌõÓï¾ä¸ã¶¨£¬²»Òªunion allµÄ£¬Ó÷ÖÎöº¯Êý ÃèÊö²»ÊǺÜÇå³þ£¬×îºÃÁоٳöÊý¾ÝºÍÏëÒªµÄ½á¹ûÒýÓà ÕâÖÖ¶«Î÷»¹ÒªÓÃPL/SQL£¿£¿£¿£¿ Ö±½Ótop-n·ÖÎöº¯Êý½â¾ö ÓÐÕâ¸ö¶«¶«?³ý·ÇÄã×Ô¼ºÐ´ Ϊʲô²»¿ÉÒÔÄØ£¿£¿Çë¿´£º ²»¿¼ÂÇÔÚµÚ2¸ö±íÖÐûÓмǼµÄ£¬Â¥Ö÷µÄÒâ˼ÊÇֻѡÓмǼµÄ£¬Èç¹ûֻѡÔñ6¸ö£¬Ç°3ºÍºó3£¬ÄÇôʹÓÃrow_number,Ïàͬ¼Ç¼ÊýµÄËæ±ãѡһ¸ö Èç¹ûÏàͬ¼Ç¼ÊýµÄÔÚǰ3ºÍºó3ÖУ¬Ò²ÒªÑ¡ÉÏÓÃdense_rank,¿´²âÊÔ£¬Ò»ÌõÓï¾ä»¹¸ã²»¶¨ÕâÍæÒ⣬ÄãÖ»ÒªÃû×ֵϰ£¬°ÑÆäËûµÄÈ¥µô£¬¿ÉÄÜǰºÍºó3ÖÐÓÐÖØ¸´µÄ£¬Èç¹ûÄãÖ»ÒªÃû×Ö²»ÒªÖظ´µ
Ïà¹ØÎÊ´ð£º
ÔÚϵͳÔËÐеÄʱºò×ÜÊÇÓÐÒ»¿é´ÅÅÌʼÖÕÉÁºìµÆ£¬½øÈëϵͳºó #topas²é¿´×ÜÊÇÓÐÒ»¿é´ÅÅÌ%BUSYΪ90%ÒÔÉÏ£¬ Êý¾Ý¿â°æ±¾£ºoracle 9.2.0.7 Êý¾ÝÎļþ¹ÒÔØµÄ½Úµã£º/oradata/pcs/ Âß¼¾íºÅlv04 #lslv -l lv04
......
¼ÙÉètable01 ÖÐÓÐ ÒÔÏÂ×ÊÁÏ emp_no emp_name ------- ------------ 0001 TOM 0002 JOHN 0003 MARY ³£Óõ绰 ¶øÎÒÃÇÒªµÃµ½ÒÔϵÄOUTPUT (»òÊǸ÷ÖÖÆäËûµÄoutput) 0001,TOM 0002,JOHN
......
tab1 ×Ö¶Î:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt tab2 ×Ö¶Î:goodsid,goodskind£¨ÉÌÆ·ÀàÐÍ£© tab3 ×Ö¶Î:goodskind£¨ÉÌÆ·ÀàÐÍ£©,kindname ½á¹û£º µÃµ½ÉÌÆ·ÀàÐÍÔÚÒ»¶Îʱ¼ä ......
×öÍædata guard ºó ÔÚPrimary·þÎñÆ÷ Ö´ÐÐ SQL>SELECT SEQUENCE#,APPLIED from V$ARCHIVED_LOG ORDER BY SEQUENCE#; SEQUENCE# APP ---------- --- 13 NO 13 YES ......
ÐèÇóÈçÏ£º ѧԺ academy£¨aid,aname£© °à¼¶ class£¨cid,cname,aid£© ѧÉú stu(sid,sname,aid,cid) סËÞÇø region(rid,rname) ËÞÉáÂ¥ build(bid,rid,bnote) bnoteÊÇ¡®ÄС¯/¡®Å®¡¯ ËÞÉá dorm(did,rid,bid£¬bedn ......