Êý¾Ý¿âoracle for update of ºÍfor updateµÄÇø±ð
select * from TTable1 for update Ëø¶¨±íµÄËùÓÐÐУ¬Ö»ÄܶÁ²»ÄÜд
2 select * from TTable1 where pkid = 1 for update Ö»Ëø¶¨pkid=1µÄÐÐ
3 select * from Table1 a join Table2 b on a.pkid=b.pkid for update Ëø¶¨Á½¸ö±íµÄËùÓмǼ
4 select * from Table1 a join Table2 b on a.pkid=b.pkid where a.pkid = 10 for update Ëø¶¨Á½¸ö±íµÄÖÐÂú×ãÌõ¼þµÄÐÐ
5. select * from Table1 a join Table2 b on a.pkid=b.pkid where a.pkid = 10 for update of a.pkid Ö»Ëø¶¨Table1ÖÐÂú×ãÌõ¼þµÄÐÐ
for update ÊǰÑËùÓÐµÄ±í¶¼Ëøµã for update of ¸ù¾Ýof ºó±íµÄÌõ¼þËø¶¨Ïà¶ÔÓ¦µÄ±í
-----------
¹ØÓÚNOWAIT(Èç¹ûÒ»¶¨ÒªÓÃFOR UPDATE£¬ÎÒ¸ü½¨Òé¼ÓÉÏNOWAIT)
µ±ÓÐLOCK³åͻʱ»áÌáʾ´íÎó²¢½áÊøSTATEMENT¶ø²»ÊÇÔÚÄÇÀïµÈ´ý(±ÈÈç:Òª²éµÄÐÐÒѾ±»ÆäËüÊÂÎñËøÁË,µ±Ç°µÄËøÊÂÎñÓëÖ®³åÍ»,¼ÓÉÏnowait,µ±Ç°µÄÊÂÎñ»á½áÊø»áÌáʾ´íÎó²¢Á¢¼´½áÊø STATEMENT¶ø²»Ôٵȴý).
Èç¹û¼ÓÁËfor updateºó ¸ÃÓï¾äÓÃÀ´Ëø¶¨Ìض¨µÄÐУ¨Èç¹ûÓÐwhere×Ӿ䣬¾ÍÊÇÂú×ãwhereÌõ¼þµÄÄÇЩÐУ©¡£µ±ÕâЩÐб»Ëø¶¨ºó£¬ÆäËû»á»°¿ÉÒÔÑ¡ÔñÕâЩÐУ¬µ«²»Äܸü¸Ä»òɾ³ýÕâЩÐУ¬Ö±µ½¸ÃÓï¾äµÄÊÂÎñ±»commitÓï¾ä»òrollbackÓï¾ä½áÊøÎªÖ¹¡£
ÒòΪFOR UPDATE×Ó¾ä»ñµÃÁËËø£¬ËùÒÔCOMMIT½«ÊÍ·ÅÕâÐ©Ëø¡£µ±ËøÊÍ·ÅÁË£¬¸ÃÓαê¾ÍÎÞЧÁË¡£
¾ÍÊÇÕâÐ©Çø±ðÁË
Ïà¹ØÎĵµ£º
oracleÓû§¹ÜÀí
  ......
ÒÔÏÂÊÇÕª×ÔOracle¹ÙÍø:
¢ñ Oracle SQL Developer ÊÇÒ»¸öÃâ·ÑµÄͼÐλ¯Êý¾Ý¿â¿ª·¢¹¤¾ß¡£Ê¹Óà SQL Developer£¬Äú¿ÉÒÔä¯ÀÀÊý¾Ý¿â¶ÔÏó¡¢ÔËÐÐ SQL Óï¾äºÍ SQL ½Å±¾£¬²¢ÇÒ»¹¿ÉÒԱ༺͵÷ÊÔ PL/SQL Óï¾ä¡£Äú»¹¿ÉÒÔÔËÐÐËùÌṩµÄÈκÎÊýÁ¿µÄ±¨±í£¬ÒÔ¼°´´½¨ºÍ±£´æÄú×Ô¼ºµÄ±¨±í¡£SQL Developer ¿ÉÒÔÌá¸ß¹¤×÷ЧÂʲ¢¼ò»¯Êý¾Ý¿â¿ª·¢ÈÎÎñ¡£ ......
Oracle ±íɾ³ý´óÁ¿Êý¾Ýºó£¬¼´Ê¹±íÖÐÖ»Óм¸ÐмǼ£¬µ«ÓÃselect count(*) from table À´²éѯ·¢¾õ¶¼²»»áÂíÉϳöÀ´£¬ÔÒòÊǸñíµÄ¿Õ¼ä´óÁË£¬²éѯÆðÀ´ºÜÂý¡£½â¾öµÄ·½·¨ÊǰѸñíËùÕ¼Óõıí¿Õ¼äËõС£¬»òÕß˵Êͷűí¿Õ¼ä¡£
alter table XXXX move; ÕâÑù´¦Àíºó¾ÍÊÍ·ÅÁ˱í¿Õ¼äÁË¡£µ«ÊÇÊͷűí¿Õ¼äºó£¬±íµÄÐкÅrowid»á·¢Éú±ä»¯£¬¶ø»ùÓÚ ......
½üÈÕÔÚ²éѯijÏîÈÕÖ¾µÄʱºò£¬·¢ÏÖ²éѯ·Ç³£»ºÂý£¬¸ù¾ÝÒÔÍùµÄ¾ÑéÕâÊÇÓÉÓÚij¸öÈÕÖ¾±í¹ý´óÒýÆðµÄ£¬ÎªÁ˼ӿì²éѯ£¬¾ö¶¨½«´ó²¿·ÖµÄÀúÊ·Êý¾ÝÇ¨ÒÆµ½ÁíÍâÒ»¸ö±íÖУ¬±¾ÎÄÖ÷Òª¼Ç¼ɾ³ýÕâ¸ö´ó±íµÄ¹ý³Ì£¬¾Í½â¾öÎÊÌâ¶øÑÔ»¹Óкܶ෽·¨£¬µ«ÊDZ¾ÎIJàÖØµãÔÚÓÚÈçºÎ´¦Àí´óÊý¾ÝÁ¿É¾³ýµÄ²Ù×÷£¬¼°ÆäÉÆºó¹¤×÷¡£
Ê×ÏÈ¿´¿´ÎÒÃÇÒª×öÊý¾ÝÇ¨ÒÆµÄ±íËùÕ¼µÄ ......
truncate,delete,dropµÄÒìͬµã
×¢Òâ:ÕâÀï˵µÄdeleteÊÇÖ¸²»´øwhere×Ó¾äµÄdeleteÓï¾ä
Ïàͬµã:truncateºÍ²»´øwhere×Ó¾äµÄdelete, ÒÔ¼°drop¶¼»áɾ³ý±íÄÚµÄÊý¾Ý
²»Í¬µã:
1. truncateºÍ deleteֻɾ³ýÊý¾Ý²»É¾³ý±íµÄ½á¹¹(¶¨Òå)
dropÓï¾ä½«É¾³ý±íµÄ½á¹¹±»ÒÀÀµµÄÔ¼Êø(constrain),´¥·¢Æ÷(trigger),Ë÷Òý(index); ÒÀÀµÓÚ¸Ã±íµ ......