oracle µÄfor updateÐÐËøÓï·¨
SELECT...FOR UPDATE Óï¾äµÄÓï·¨ÈçÏ£º
¡¡¡¡SELECT ... FOR UPDATE [OF column_list][WAIT n|NOWAIT][SKIP LOCKED];
ÆäÖУº
¡¡¡¡OF ×Ó¾äÓÃÓÚÖ¸¶¨¼´½«¸üеÄÁУ¬¼´Ëø¶¨ÐÐÉϵÄÌض¨ÁС£
¡¡¡¡WAIT ×Ó¾äÖ¸¶¨µÈ´ýÆäËûÓû§ÊÍ·ÅËøµÄÃëÊý£¬·ÀÖ¹ÎÞÏÞÆڵĵȴý¡£
¡¡¡¡“ʹÓÃFOR UPDATE WAIT”×Ó¾äµÄÓŵãÈçÏ£º
¡¡¡¡£±·ÀÖ¹ÎÞÏÞÆڵصȴý±»Ëø¶¨µÄÐУ»
¡¡¡¡£²ÔÊÐíÓ¦ÓóÌÐòÖжÔËøµÄµÈ´ýʱ¼ä½øÐиü¶àµÄ¿ØÖÆ¡£
¡¡¡¡£³¶ÔÓÚ½»»¥Ê½Ó¦ÓóÌÐò·Ç³£ÓÐÓã¬ÒòΪÕâЩÓû§²»Äܵȴý²»È·¶¨
¡¡¡¡£´ ÈôʹÓÃÁËskip locked£¬Ôò¿ÉÒÔÔ½¹ýËø¶¨µÄÐУ¬²»»á±¨¸æÓÉwait n Òý·¢µÄ‘×ÊԴæ’Òì³£±¨¸æ
ʾÀý:
create table t(a varchar2(20),b varchar2(20));
insert into t values('1','1');
insert into t values('2','2');
insert into t values('3','3');
insert into t values('4','4');
ÏÖÔÚÖ´ÐÐÈçϲÙ×÷£º
ÔÚplsql developeÖдò¿ªÁ½¸ösql´°¿Ú£¬
ÔÚ1´°¿ÚÖÐÔËÐÐsql
select * from t where a='1' for update;
ÔÚ2´°¿ÚÖÐÔËÐÐsql1
1. select * from t where a='1'; ÕâÒ»µãÎÊÌâҲûÓУ¬ÒòΪÐм¶Ëø²»»áÓ°Ïì´¿´âµÄselectÓï¾ä
ÔÙÔËÐÐsql2
2. select * from t where a='1' for update; ÔòÕâÒ»¾äsqlÔÚÖ´ÐÐʱ£¬ÓÀÔ¶´¦Óڵȴý״̬£¬³ý·Ç´°¿Ú1ÖÐsql±»Ìá½»»ò»Ø¹ö¡£
ÈçºÎ²ÅÄÜÈÃsql2²»µÈ´ý»òµÈ´ýÖ¸¶¨µÄʱ¼äÄØ£¿ ÎÒÃÇÔÙÔËÐÐsql3
3. select * from t where a='1' for update nowait; ÔòÔÚÖ´ÐдËsqlʱ£¬Ö±½Ó±¨×ÊԴæµÄÒì³£¡£
ÈôÖ´ÐÐ select * from t where a='1' for update wait 6; ÔòÔڵȴý6Ãëºó£¬±¨ ×ÊԴæµÄÒì³£¡£
Èç¹ûÎÒÃÇÖ´ÐÐsql4
4. select * from t where a='1' for update nowait skip Locked; ÔòÖ´ÐÐsqlʱ£¬¼´²»µÈ´ý£¬Ò²²»±¨×ÊԴæÒì³£¡£
ÏÖÔÚÎÒÃÇ¿´¿´Ö´ÐÐÈçϲÙ×÷½«»á·¢ÉúʲôÄØ£¿
ÔÚ´°¿Ú1ÖÐÖ´ÐУº
select * from t where rownum<=3 nowait skip Locked;
ÔÚ´°¿Ú2ÖÐÖ´ÐУº
select * from t where rownum<=6 nowait skip Locked;
select for update Ò²¾ÍÈç´ËÁË°É£¬insert¡¢update¡¢delete²Ù×÷ĬÈϼÓÐм¶Ëø£¬ÆäÔÀíºÍ²Ù×÷Óëselect for update²¢ÎÞÁ½Ñù¡£
select for update of£¬Õâ¸öof×Ó¾äÔÚÇ£Á¬µ½¶à¸ö±íʱ£¬¾ßÓнϴó×
Ïà¹ØÎĵµ£º
oracle²¹¶¡ÏÂÔØ
¹Ø¼ü×Ö: oracle
9.2.0.4 = 3095277
9.2.0.5 = 3501955
9.2.0.6 = 3948480
9.2.0.7 = 4163445
9.2.0.8 = 4547809£¨9i×îÖÕ£©
10.1.0.3 = 3761843
10.1.0.4 = 4163362
10.1.0.5 = 4505133
10.2.0.2 = 4547817
10.2.0.3 = 5337014
10.2.0.4 = 6810189
ÏÂ ......
Ò»¡¢°²×°(ÂÔ)
·þÎñÆ÷¶Ë
1¡¢windows:£¨ÂÔ£©
2¡¢linux:´ýÐø...
¿Í»§¶Ë
´ýÐø...
--°üÀ¨ÅäÖÃ--
¶þ¡¢µÇ½
......
ÀýÈçÎÒÔÚoracle10gÀïÅäÖÃÁË2¸öÊý¾Ý¿âxljcºÍxldb,ÆÚ¿ØÖÆÌ«ä¯ÀÀÆ÷ÖÖÆô¶¯·Ö±ðΪ:xljcÔÚä¯ÀÀÆ÷ÖÐÊäÈë http://zhang:5500/em xldbÔÚä¯ÀÀÆ÷ÖÐÊäÈë http://zhang:1158/emÈç¹ûÍü¼ÇÁËÆô¶¯¶Ë¿ÚºÅ,¿ÉÒÔ²éѯÎļþ
ÀýÈçÎÒÔÚoracle10gÀïÅäÖÃÁË2¸öÊý¾Ý¿âxljcºÍxldb,ÆÚ¿ØÖÆÌ«ä¯ÀÀÆ÷ÖÖÆô¶¯·Ö±ðΪ:xljcÔÚä¯ÀÀÆ÷ÖÐÊäÈë http://zhang:5500/em
x ......
OracleÖеÄto_date()º¯Êý
to_date()Óë24СʱÖƱíʾ·¨¼°mm·ÖÖÓµÄÏÔʾ£º
Ò»¡¢ÔÚʹÓÃOracleµÄto_dateº¯ÊýÀ´×öÈÕÆÚת»»Ê±£¬ºÜ¶àJava³ÌÐòÔ±Ò²Ðí»áÖ±½ÓµÄ²ÉÓÓyyyy-MM-dd HH:mm:ss”µÄ¸ñʽ×÷Ϊ¸ñʽ½øÐÐת»»£¬µ«ÊÇÔÚOracleÖлáÒýÆð´íÎ󣺓ORA 01810 ¸ñʽ´úÂë³öÏÖ
&nbs ......
1. OracleÄÚ´æ½á¹¹¼ò½é
OracleÔÚÄÚ´æÖд洢ÒÔÏÂÐÅÏ¢£º
¡£³ÌÐò´úÂë
¡£ÒÔÁ¬½ÓµÄ»á»°ÐÅÏ¢£¬°üÀ¨µ±Ç°»î¶¯µÄ¼°·Ç»î¶¯µÄ»á»°
¡£³ÌÐòÖ´Ðйý³ÌÖÐËùÐèµÄÐÅÏ¢
¡£ÐèÒªÔÚOracle½ø³Ì¼ä¹²Ïí²¢½øÐÐͨÐŵĵÄÐÅÏ¢
¡£Êý¾ÝÎļþÄÚÊý¾ÝµÄ»º´æ£¨ÈçÊý¾Ý¿é¼°ÖØ×öÈÕÖ¾ÌõÄ¿£©
Oracle ÖеĻù±¾ÄÚ´æ½á¹¹°üÀ¨£º
¡£ÏµÍ³È«¾ÖÇø(SGA):´ËÇøÓòÓÉËùÓÐµÄ ......