oracle, stored procedure, cursor
CREATE OR REPLACE PROCEDURE kevin_proc(x varchar) IS
a VARCHAR(20);
b VARCHAR(20);
CURSOR mycur(rn NUMBER) IS SELECT * from t_kevin_test WHERE ROWNUM<rn;
BEGIN
OPEN mycur(10);
LOOP FETCH mycur INTO a,b;
EXIT WHEN mycur%NOTFOUND;
Dbms_Output.put_line('a: '||a);
Dbms_Output.put_line('b: '||b);
END LOOP;
CLOSE mycur;
begin
dbms_output.put_line (x);
end;
END;
Ïà¹ØÎĵµ£º
°ÑÊý¾Ý´ÓÒ»¸ö±í¸´ÖƵ½ÁíÒ»¸ö±í£¬²åÈëÐÂÊý¾Ý»òÌæ»»µôÀÏÊý¾ÝÊÇÿһ¸öORACLE DBA¶¼»á¾³£Åöµ½µÄÎÊÌâ¡£ÔÚORACLE9iÒÔǰµÄÄê´ú£¬ÎÒÃÇÒªÏȲéÕÒÊÇ·ñ´æÔÚÀÏÊý¾Ý£¬Èç¹ûÓÐÓÃUPDATEÌæ»»£¬·ñÔòÓÃINSERTÓï¾ä²åÈ룬Æä¼äÉÙ²»ÁË»¹ÓÐһЩ±ê¼Ç±äÁ¿µÈµÈ£¬·±ËöµÄºÜ¡£ÏÖÔÚORACLE9iרΪÕâÖÖÇé¿öÌṩÁËMERGEÓï¾ä£¬Ê¹ÕâÒ»¹¤×÷±äµÃÒì³£ÇáËÉ£¬
MERGEÓï ......
˵µ½HWM,ÎÒÃÇÊ×ÏÈÒª¼òÒªµÄ̸̸ORACLEµÄÂß¼´æ´¢¹ÜÀí.ÎÒÃÇÖªµÀ,ORACLEÔÚÂß¼´æ´¢ÉÏ·Ö4¸öÁ£¶È:±í¿Õ¼ä,¶Î,ÇøºÍ¿é.
(1)¿é:ÊÇÁ£¶È×îСµÄ´æ´¢µ¥Î»,ÏÖÔÚ±ê×¼µÄ¿é´óСÊÇ8K,ORACLEÿһ´ÎI/O²Ù×÷Ò²Êǰ´¿éÀ´²Ù×÷µÄ,Ò²¾ÍÊÇ˵µ±ORACLE´ÓÊý¾ÝÎļþ¶ÁÊý¾Ýʱ,ÊǶÁÈ¡¶àÉÙ¸ö¿é,¶ø²»ÊǶàÉÙÐÐ.
(2)Çø:ÓÉһϵÁÐÏàÁÚµÄ¿é¶ø×é³É,ÕâÒ²ÊÇORACLE¿Õ¼ ......
ÔÚoracleÖУ¬ÎÒÃÇʹÓÃin·½·¨²éѯ¼Ç¼µÄʱºò£¬Èç¹ûinºóÃæµÄ²ÎÊý¸öÊý³¬¹ý1000¸ö£¬ÄÇô»á·¢Éú´íÎó£¬ÏÂÃæµÄÕâ¸ö·½·¨¾ÍÊǽâ¾öÕâ¸öÎÊÌâµÄ£¬Ëü½«ÎÒÃǵÄÉÏǧ¸ö²ÎÊý·Ö³É¼¸×飬±£Ö¤Ã¿×éµÄ²ÎÊý¸öÊý²»³¬¹ý1000
/**
* Éú³É·ûºÏÌõ¼þµÄsqlÓï¾ä,½â¾öinÎÊÌâ
* @param sqlParam£ºÎÒÃÇÐèÒª´¦ÀíµÄ²ÎÊýµÄ×Ö·û´®¸ñʽ£¬ÀýÈ ......
truncate,delete,dropµÄÒìͬµã
×¢Òâ:ÕâÀï˵µÄdeleteÊÇÖ¸²»´øwhere×Ó¾äµÄdeleteÓï¾ä
Ïàͬµã:truncateºÍ²»´øwhere×Ó¾äµÄdelete, ÒÔ¼°drop¶¼»áɾ³ý±íÄÚµÄÊý¾Ý
²»Í¬µã:
1. truncateºÍ deleteֻɾ³ýÊý¾Ý²»É¾³ý±íµÄ½á¹¹(¶¨Òå)
dropÓï¾ä½«É¾³ý±íµÄ½á¹¹±»ÒÀÀµµÄÔ¼Êø(constrain),´¥·¢Æ÷(trigger),Ë÷Òý(index); ÒÀÀµÓÚ¸Ã±íµ ......
ͨ¹ý select * from table whereid=16701 for update Ëø×¡Ò»Õűí
ͨ¹ýÒÔÏÂÓï¾ä¿É²éѯ³ö±»Ëø×¡µÄ¶ÔÏó
SELECT OBJECT_ID,
SESSION_ID,
SERIAL#,
ORACLE_USERNAME,
&nb ......