ʹÓÃOracle¶ÁÁËÔàÊý¾Ý... - Oracle / »ù´¡ºÍ¹ÜÀí
°¸Àý˵Ã÷:»ð³µÆ±ÊÛƱϵͳ ͬʱÆô¶¯¶à¸öÏß³ÌÄ£ÄâÂòƱ ´°¿ÚÊ×ÏȲéѯ³ö»¹Ê£Óà¶àÉÙÕÅƱ,ÅжÏÊÇ·ñ×ã¹»,ÔÙ½øÐиüвÙ×÷ ËùÒÔÊÇÒ»ÌõselectÓï¾ä,Ò»ÌõupdateÓï¾ä ÏÖÔÚ³öÏÖµÄÎÊÌâ: µÚÒ»¸öÈËÂòÊ×ÏȲéѯʣÓà20ÕÅ,ÂòÁË2ÕÅ,updateΪ18ÕÅ µÚ¶þ¸öÈËÔÚupdate֮ǰ¾Í¶Á³öÁË,ËùÒÔËû¶Á³öµÄÊ£ÓàƱÊýÒ²ÊÇ20ÕÅ,ÂòÁË2ÕÅ,updateΪ18ÕÅ ½á¹ûÂòÁË4ÕÅ,È·Ö»¼õÉÙÁË2ÕÅ ÇëÎÊÈçºÎ½â¾öÕâ¸öÎÊÌâÄØ?
Õâ¸öÎҼǵÃÊÇÓóÌÐò¶ÎµÄÏß³Ìͬ²½À´½øÐпØÖƵÄ,Êý¾Ý¿â½øÐпØÖÆ,Àí½â¹ý¿ÉÒÔÓÃSELECT FOR UPDATEÀ´½øÐпØÖÆ,ʵ¼ÊûÓÐÓ¦Óùý, ÄãµÄÒâ˼ÊÇÓÃsynchronizedÀ´¼ÓËøÊÇ°É?ÒýÓà ÊǵÄ,¼ÇµÃ»¹ÓÐÊÓƵרÃŽ²Õâ¸öÀý×ÓµÄ,ORACLEÊý¾Ý¿â¶Ë¿ØÖƵĻ°, ¿ÉÓÃSELECT ƱÊý FOR update½øÐмÓËø.... ÕâÑùÊÇÒ»ÖÖ½â¾öµÄ°ì·¨!ºÇºÇ ÄÇÓÖÓиöÎÊÌâ,ÂôƱµÄʱºò¶Á²»³öÁË SQL code: --ʹÓÃfor updateÊÖ¹¤¼ÓËø£¬¼ÓËø³É¹¦Ôò¼ÌÐø£¬·ñÔòÖ»Äܵȴý select name,amount from tickets where name='aaa' for update; --ÊÛƱ¸üРupdate tickets set amount=amount-2 where name='aaa' --Ìá½»ÊÍ·ÅËø commit;ÒýÓà ÄÇÓÖÓиöÎÊÌâ,ÂôƱµÄʱºò¶Á²»³öÁË ²»ÓÃfor update£¬°ÑÊÂÎñ¸ôÀ뼶Éè³É¿É´®Ðл¯¡£ È»ºó select *** update *** Á½ÕߺÏÒ»Æð¹¹³ÉÒ»ÊÂÎñ£¬ ÕâÑùÓ¦¸Ã²»»á³öÏÖÔà¶Á¡£ Õâ¸öÊÂÎñÓ¦¸Ã×㹻С£¨Ïà¹ØÓï¾äÒªÓÅ»¯£©£¬Ê±¼äºÜ¶Ì£¬²»´æÔÚ¶Á²»³öÊý¾ÝµÈ´ýºÜ³¤Ê
Ïà¹ØÎÊ´ð£º
private static final String URL = "jdbc:oracle:thin:@localhost:1521:orcl"; private static final String USERNAME = "sys"; private static final String PASSWORD = "s ......
ÎÒÔÚ¿ª·¢µÄÕâ¸öÓ¦Óò¢·¢ÐԱȽϸߣ¬oracle¸üÐÂÊý¾ÝʱºòÈçºÎ´¦Àí²¢·¢´¦ÀíÄØ£¿¸÷λ´óÏÀ·¢±íºÃµÄ¹Ûµã°¡£¬ÔÚÏߵȴý£¡ oracleÊý¾Ý¸üÐÂʱ£¬»á×Ô¶¯Ä¬ÈÏÐÐËø¶¨£¬Â¥Ö÷²»Òª²ÙÐÄ£¬Oracle¶Ô²¢Ðд¦ÀíÒѾºÜ³ÉÊìÁË ÒýÓà oracle ......
ÎҵĴ¦ÀíÊÇÕâÑùµÄ£º ÎÒÓÐÒ»¸öºÜ´óµÄÊý¾Ý¼¯ºÏ£¬´¦ÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇÐèҪʹÓÃÁÙʱ±í¹ý¶É£¬²¢ÇÒʹÓ÷ÖÒ³µÄ·½Ê½ÏòÁÙʱ±íÖвåÈëÊý¾Ý£¬Êý¾ÝʹÓÃÍê±Ïºó£¬É¾³ýÁÙʱ±íµÄÊý¾Ý¡£ ³öÏÖµÄÏÖÏ󣺵±OracleÖØÐÂÆô¶¯ºó£¬µÚÒ»Ò³²åÈëµÄ ......
Ö÷ÒªÏëʵÏÖ£ºÔÚÿÌìµÄ0µã֮ǰ×Ô¶¯½«Êý¾Ý²åÈëÊý¾Ý¿â£¬Ï£Íû´ó¼ÒÖ¸µã£¡ ×Ô¶¯²åÈë?Êý¾ÝÔ´ÄÄÀïÀ´µÄ,²åÈ뵽ʲôµØ·½ ´¥·¢Æ÷? Ó¦¸ÃÓÃJOB Êý¾ÝÔ´ÔÝʱÏëµÄÊǹ̶¨Êý¾Ý£¬²åÈëµ½Ò»Õűí ÄǾÍÊÇÓÃJOB¶¨Ê±Ö´ÐÐ,´ÓÎļþµ¼ÈëÊ ......