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

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ʱ¼äÀàÐÍÊý¾ÝΪ0µÄbug

Ó¦ÓÃÊý¾Ý¿âÖмǼÖÐdateÁÐĪÃûÆäÃîµÄ³öÏÖÁ˼¸¸öֵΪ0000-00-00µÄÊý¾Ý¡£
¸ü¿ÉŵÄÊÇÈç¹û½«ÕâÑùµÄ¼Ç¼½øÐжÁÈ¡³ÉΪvarchar2ºóÔÙto_dateת»»»ØÈ¥¾Í»á±¨´í¡£
ÎÊÌâÎÞ´Ó²éÆð£¬Ö»ËµÒ»ÏÂ×îÖÕͬÊÂËÑË÷µ½µÄÁ¬½Ó½á¹û£ºhttp://www.hellodba.com/Doc/oracle_date_zero_bug.htm
¿´À´µÄÈ·ÊÇoracleµÄÒ»¸öbug¡£
ÁíÍâÐèҪעÒâµÄÊÇ£¬ÔÚʹÓà ......

oracle keep(first/last)


 ÏÈ¿´Ò»¶ÎORACLE¹Ù·½Îĵµ
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96520/analysis.htm#25806:
FIRST/LAST Functions
The FIRST/LAST aggregate functions allow you to return the result of an aggregate applied over a set of rows that rank as the first or last with respect to a ......

OracleÄÚ´æ½á¹¹

1. OracleÄÚ´æ½á¹¹¼ò½é
OracleÔÚÄÚ´æÖд洢ÒÔÏÂÐÅÏ¢£º
¡£³ÌÐò´úÂë
¡£ÒÔÁ¬½ÓµÄ»á»°ÐÅÏ¢£¬°üÀ¨µ±Ç°»î¶¯µÄ¼°·Ç»î¶¯µÄ»á»°
¡£³ÌÐòÖ´Ðйý³ÌÖÐËùÐèµÄÐÅÏ¢
¡£ÐèÒªÔÚOracle½ø³Ì¼ä¹²Ïí²¢½øÐÐͨÐŵĵÄÐÅÏ¢
¡£Êý¾ÝÎļþÄÚÊý¾ÝµÄ»º´æ£¨ÈçÊý¾Ý¿é¼°ÖØ×öÈÕÖ¾ÌõÄ¿£©
Oracle ÖеĻù±¾ÄÚ´æ½á¹¹°üÀ¨£º
¡£ÏµÍ³È«¾ÖÇø(SGA):´ËÇøÓòÓÉËùÓÐµÄ ......

oracle²é¹ØÊ±¼ä²Ù×÷

Oracle¹ØÓÚʱ¼ä/ÈÕÆÚµÄ²Ù×÷
¡¡¡¡1.ÈÕÆÚʱ¼ä¼ä¸ô²Ù×÷
¡¡¡¡µ±Ç°Ê±¼ä¼õÈ¥7·ÖÖÓµÄʱ¼ä
¡¡¡¡Java´úÂë
select sysdate,sysdate - interval '7' MINUTE from dual 
select sysdate,sysdate - interval '7' MINUTE from dual
¡¡¡¡µ±Ç°Ê±¼ä¼õÈ¥7СʱµÄʱ¼ä
¡¡¡¡Java´úÂë
select sysdate - interval '7' hour fr ......

OracleÊý¾Ý¿âÃÜÂëÎļþÖÐÔö¼Ó¡¢É¾³ýÓû§£º

µ±³õʼ»¯²ÎÊýREMOTE_LOGIN_PASSWORDFILEÉèÖÃΪEXCLUSIVEʱ£¬ÏµÍ³ÔÊÐí³ýINTERNAL/SYSÒÔÍâµÄÆäËûÓû§ÒÔ¹ÜÀíÔ±Éí·Ý´ÓÔ¶¶Ë»ò±¾»úµÇ¼µ½OracleÊý¾Ý¿âϵͳ£¬Ö´ÐÐÊý¾Ý¿â¹ÜÀí¹¤×÷;ÕâЩÓû§Ãû±ØÐë´æÔÚÓÚÃÜÂëÎļþÖУ¬ÏµÍ³²ÅÄÜʶ±ðËûÃÇ¡£ÓÉÓÚ²»¹ÜÊÇÔÚ´´½¨Êý¾Ý¿âʵÀýʱ×Ô¶¯´´½¨µÄÃÜÂëÎļþ£¬»¹ÊÇʹÓù¤¾ßORAPWD.EXEÊÖ¹¤´´½¨µÄÃÜÂëÎļþ£¬¶ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ