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

Oracle CURSORµÄ¼òµ¥Ó÷¨

ǰÑÔ£º
 OracleµÄ¶Ô±í²Ù×÷ÖÐÓÐÒ»ÖÖÀàËÆÓÚDataSetµÄ¶ÔÏó²Ù×÷·½·¨CURSOR£¬Ëü¿ÉÒÔͨ¹ý½¨Á¢±íµÄ²Ù×÷¶ÔÏó»òÕß˵±íµÄÖ¸Õë¶ÔÏóÀ´´ïµ½´Ó±íÀïÃæÌáÈ¡Êý¾ÝµÄ²Ù×÷¡£
˵Ã÷£º
 Ò»°ãͨ¹ýSQLÓïÑÔ¿ÉÒÔÕë¶Ôij¸ö±íµÄijһÐлò¶àÐÐÊý¾Ý½øÐвÙ×÷±ÈÈç˵SELECT£¬UPDATEµÈ¡£ÕâЩ²Ù×÷±ØÐëÒÔSQLÓï¾äµÄÓï·¨¸ñʽÀ´±»½âÊÍÆ÷½âÊͲ¢Ö´ÐС£ÔÚʵ¼Ê±ä³ÉÖо­³£Óõ½£¬ÌرðÊÇÓñà³ÌÓïÑÔÀ´¶ÔÊý¾Ý¿â²Ù×÷ʱ¸üÊDZز»¿ÉÉÙ¡£µ±È»Êý¾Ý¿âÒ²²»ÊDz»ÄÜ×Ô¼ºÀ´×öһЩ´¦ÀíµÄ£¬¼òµ¥µÄÊý¾Ý²Ù×÷µÄ»°£¬ÏñORACLEÕâÑùµÄÊý¾Ý¿â¿ÉÒÔÓÃ×ÔÉíµÄPL/SQLÓïÑÔÀ´ÊµÏÖ¡£²»½öÖ´ÐÐËٶȿ죬¶øÇÒ½ÚÊ¡ÍøÂç¡£ÒòΪËüÊÇÖ±½ÓÔÚÊý¾Ý¿â¶ËÖ´Ðеġ£
 CURSOR¾ÍÊÇPL/SQLÖеÄÒ»ÖÖʵÏÖ¶Ô±íµÄ¶ÔÏ󻯲Ù×÷·½·¨¡£
 ËûÒ»¹²·ÖΪÁ½ÖÖ£º
 ÏÔʽÐÍ
 ½âÊÍ£º¹ËÃû˼Ò壬¾ÍÊÇÔÚ³ÌÐòÊéд¹ý³ÌÖÐÀûÓô´½¨±í¶ÔÏóµÄ¹ý³ÌÖУ¬Ã÷È·µÄʹÓñäÁ¿Ãû¡£
 °µÊ½ÐÍ
 ½âÊÍ£º²»ÊÇÓñäÁ¿Ãû£¬¶øÓüòµ¥µÄÓï·¨À´Íê³É¶ÔÏóµÄ²Ù×÷¡£ORACLEÀïÃæÒѾ­¶¨ÒåºÃÁË£¬Ö»ÐèÒªµ÷ÓþͿÉÒÔʹÓá£
¹ØÓÚPL/SQLµÄÊéд¸ñʽ£¬ÕâÀïÊ¡ÂÔ¡£
ÏÔʽÐ͵ÄCURSORÔÚ¶¨Òå¹ý³ÌÖбØÐëдÔÚ¶¨ÒåÇø¼ä
Ò²¾ÍÊÇ˵ÐèҪдÔÚ IS  ..... BEGIN  »òÕß  DECLARE .... BEGIN¡£
¶øÖ´ÐеÄʱºò¾ÍҪдÔÚ BEGIN.....ENDÁË¡£
¿´²»Ã÷°×µÄ»°£¬¾Í¿´Àý×ÓÁË¡£
CREATE OR REPLACE PROCEDURE AAA
IS
CURSOR BBB IS
SELECT CCC from TABLE ;
vBBB BBB%ROWTYPE;
BEGIN
OPEN BBB;
LOOP
FETCH BBB INTO vBBB;
EXIT WHEN BBB%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(vBBB);
END LOOP;
CLOSE BBB;
END;
/

 Ê×Ïà´´½¨ÁËÒ»¸öPROCEDUREÃû×ÖΪAAA£¬È»ºóÔÚ¶¨ÒåÇø¼äÀïÃæ¶¨ÒåÁËÒ»¸öCURSORÃû×ÖΪBBB£¬
Á¬½Ó±íTABLE²¢´ÓÖжÁÈ¡ÁÐCCC¡£Ö®ºó¶¨ÒåÁËÒ»¸öÐÐÀàÐ͵ıäÁ¿ÓÃÓڴ洢ÿһÐеÄÊý¾Ý¡£
 µ½´Ë£¬±íµÄ¶ÔÏóÒÔ¼°¶ÁÈ¡Êý¾ÝµÄÌõ¼þ»¹ÓÐÊý¾Ý´æ´¢ÓõıäÁ¿¾Í¶¼¶¨ÒåºÃÁË¡£
 È»ºóOPENÕâ¸ö±í¶ÔÏ󣬽øÈëÑ­»·¡£Ã¿Ñ­»·Ò»´ÎÖ¸Õë±ã»á×Ô¶¯ÏòºóÒÆ¶¯£¬½«BBBÀïÃæµÄÊý¾ÝÒÔÐÐΪµ¥Î»¶Á³ö´æÈëvBBB¡£È»ºóµ±BBBµÄÖ¸Õëµ½×îºóÒ²¾ÍÊÇ˵Êý¾Ý¶Áµ½×îºóûÓÐÁ˵Äʱºò±ãÍ˳öÑ­»·²¢ÇҹرÕBBB¡£
DBMS_OUTPUT.PUT_LINEÊÇÓÃÀ´ÔÚÆÁÄ»ÉÏ´òÓ¡vBBBÓõġ£
 ÓëÖ®Ïàͬ OPEN  FETCH CLOSE µÄÓï·¨¸ñʽ¿´À´Í¦Âé·³µÄ¡£ÕâÑùµÄ»°¾ÍÓÃFORÀ´´úÌæÒ²¿ÉÒÔ
BEGIN
FOR vBBB IN BBB;
LOOP
DBMS_OUTPUT.PUT_LINE(vBBB);
END LOOP;
END;
 Õâ¾ÍʡʶàÁË¡£Òâ˼ҲһĿÁËÈ»¡£ÒòΪSURSOR¶¨ÒåÁ˱äÀ´Ãû×


Ïà¹ØÎĵµ£º

oracle ±í¿Õ¼ä²Ù×÷

oracle±í¿Õ¼ä²Ù×÷Ïê½â
  1
  2
  3×÷Õߣº   À´Ô´£º    ¸üÐÂÈÕÆÚ£º2006-01-04 
  5
  6 
  7½¨Á¢±í¿Õ¼ä
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

ORACLE³£¼ûÎÊÌâ1000ÎÊ(Ö®¾Å)

401. V$PQ_TQSTAT
°üº¬²¢ÐÐÖ´ÐвÙ×÷ÉϵÄͳ¼ÆÁ¿.°ïÖúÔÚÒ»¸ö²éѯÖвⶨ²»Æ½ºâµÄÎÊÌâ.
402. V$PROCESS
°üº¬¹ØÓÚµ±Ç°»î¶¯½ø³ÌµÄÐÅÏ¢.
403. V$PROXY_ARCHIVEDLOG
°üº¬¹éµµÈÕÖ¾±¸·ÝÎļþµÄÃèÊöÐÅÏ¢,ÕâЩ±¸·ÝÎļþ´øÓÐÒ»¸ö³ÆÎªPROXY¸±±¾µÄÐÂÌØÕ÷.
404. V$PROXY_DATAFILE
°üº¬Êý¾ÝÎļþºÍ¿ØÖÆÎļþ±¸·ÝµÄÃèÊöÐÅÏ¢,ÕâЩ±¸·ÝÎļþ´ ......

ORACLE³£¼ûÎÊÌâ1000ÎÊ(֮ʮһ)

645. USER_ALL_TABLES
°üº¬¶ÔÓû§¿ÉÓõıíµÄÃèÊö.
646. USER_ARGUMENTS
Áгö¶ÔÓû§¿É´æÈ¡µÄ¶ÔÏóÖеIJÎÊý.
647. USER_ASSOCIATIONS
µ±Ç°Óû§ËùÓµÓеÄÏà¹Ø¶ÔÏóµÄÓû§¶¨ÒåµÄͳ¼Æ.
648. USER_AUDIT_OBJECT
¹ØÓÚ¶ÔÏóµÄÓï¾äÉ󼯏ú×ټǼ.
649. USER_AUDIT_SESSION
¹ØÓÚÓû§Á¬½Ó»ò¶Ï¿ªµÄÈ«²¿É󼯏ú×ټǼ.
650. USER_AUD ......

oracleÖ÷¼üµÄÉèÖÃ

×î½ü×ܽáÁËÒ»ÏÂoracleÖ÷¼üµÄÉèÖ÷½·¨£¬Ìùµ½Õâ±£´æÒ»Ï°ɡ£ ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÉèÖÃÖ÷¼ü£¬Ò»ÖÖÊÇ×ÔÔö³¤Ö÷¼ü£¬ÁíÒ»ÖÖ¾ÍÊÇÉú³ÉΨһÐòÁС£ Ò»¡¢×ÔÔö³¤Ö÷¼ü --Ê×ÏȽ¨Ò»¸ö±íTEST
create tableTEST (
  NID int PRIMARY KEY,
  test1 varchar2(20),
  test2 varchar2(20),
  test3 ......

Oracle·ÖÒ³

Ô­À´ÓõÄSQL server£¬Ö÷ÒªÓÐÁ½ÖÖ·ÖÒ³·½·¨£ºÓαêºÍÆ´×Ö·û´®£¬Óα귨̫Âý£¬Æ´´®·¨Ò²ÓÐһЩȱÏÝ¡£
ÏÖÔÚÕÒµ½ÁËÒ»¸öOracleµÄ·ÖÒ³·½·¨£¬Ò²¿ÉÒÔ˵ÊÇÆ´×Ö·û´®£¬µ«ÊÇÓÃÆðÀ´¾Í±ÈSQL serverµÄÒª·½±ã£¬Ã»ÓÐ֮ǰµÄÎÊÌ⣺
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
W ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ