SELECT ... FOR UPDATE£¨WAIT/NOWAIT£©ÃüÁîÓëORACLEËø
oracleËøµÄÅŶӻúÖÆ£º
ÇëÇóËø¶¨ÐèÒªÅŶӡ£Èç¹ûij¸ö»á»°ÇëÇóÒ»¸öËø¶¨£¬µ«ÊÇÓÉÓÚÆäËû»á»°ÒÑ¾Ëø¶¨ÁËÖ¸¶¨¼Ç¼»ò¶ÔÏó¶øÎÞ·¨»ñµÃËùÐèµÄËø¶¨£¬ÄÇôÕâ¸ö»á»°½«»áµÈ´ý¡£´Ëʱ£¬¿ÉÄܶà¸ö»á»°¶¼Ôڵȴý·ÃÎÊÏàͬ¼Ç¼»ò¶ÔÏó£¬ÔÚÕâÖÖÇé¿öÏ£¬ORACLE»á¸ú×ÙÕâЩ»á»°ÇëÇóËø¶¨µÄ˳Ðò¡£
Èç¹û²»Ï£Íûij¸ö»á»°ÔÚÎÞ·¨»ñµÃËø¶¨Ê±½øÐÐÅŶӵȺò£¬ÄÇô±ÜÃâÅŶӵÄΨһ·½Ê½ÊÇʹÓÃSELECT ... FOR
UPDATE(×Ó¾äWAIT/NOWAIT)ÃüÁî¡£SELECT ... FOR
UPDATEÃüÁî»á²ÉÓÃרÓõÄģʽÀ´Ñ¡ÔñºÍËø¶¨¼Ç¼¡£Èç¹ûijÌõ¼Ç¼Òѱ»Ëø¶¨£¬ÄÇôÔÚËø¶¨±»ÊÍ·Åǰ£¬SELECT ... FOR
UPDATEÓï¾ä»áÏñDMLÓï¾äÒ»Ñù½øÐÐÅŶӲ¢¹ÒÆð»á»°¡£Ê¹ÓÃ×Ó¾äNOWAIT»òWAIT
<n>¾Í¿ÉÒÔ±ÜÃâ¹ÒÆð»á»°£¬ÆäÖÐ<n>ÊÇÒÔÃëΪµ¥Î»µÄÊýÖµ¡£
ÎÒÃÇÔÚʹÓÃORACLE½øÐÐÊý¾Ý´¦ÀíµÄʱºò£¬ÓÐʱÐèÒª¶Ô²éѯ³öÀ´µÄ¼Ç¼½øÐÐËø¶¨£¬½ûÖ¹ÆäËû½ø³Ì¶Ô¸Ã¼Ç¼½øÐÐÐ޸IJÙ×÷¡£
oracleÊý¾Ý¿âÌṩÁËÒ»ÖÖÀûÓÃSELECTµÄFOR
UPDATE×Ó¾äʵÏֵķ½·¨£¨¿ÉÄÜsqlserverÒ²ÓÐÕâ¸ö¹¦ÄÜ£¬µ«ÊÇûÓвâÊÔ¹ý£©¡£Í¨¹ýselect * from ta for
update·½·¨£¬¿ÉÒÔ½«²éѯ½á¹ûÖеļǼ½øÐÐupdateËø¶¨£¬¼°²»ÔÊÐíÆäËû½øÐжÔÕâЩ¼Ç¼½øÐÐÐ޸ġ£ÎÒÃÇ»¹¿ÉÒÔͨ¹ýselect *
from a for update of a.a;£¨a±íµÄaÁУ©¶Ô¼Ç¼ÖеÄijһÁнøÐÐËø¶¨¡£
µ±ÎÒÃÇʹÓÃFOR
UPDATE×Ӿ佫¼ÇÂ¼Ëø¶¨ºó£¬ÆäËû½ø³ÌÔÚ¶ÔËø¶¨¼Ç¼½øÐÐupdate»òdelete²Ù×÷ʱ£¬¾Í»á´¦ÓÚÍ£¶Ù״̬£¬µÈ´ý½âËø¡£µ±Ëø¶¨½ø³ÌÊÍ·ÅËø¶¨ÒÔºó²Å»á¼Ì
ÐøÖ´ÐС£Èç¹û²»ÏëÆäËû½øÐнøÈëÍ£¶Ù״̬£¬¿ÉÒÔÓÃnowait×Ӿ䣬ֱ½Ó·µ»Ø²Ù×÷Òì³£ÐÅÏ¢£¬Ìáʾ²Ù×÷µÄ¼Ç¼´¦ÓÚËø¶¨×´Ì¬²»ÄܽøÐÐÐ޸ġ£
ËùÒÔÎÒÃÇÔÚ×ö¶àÏß³Ìͬ²½Ê±£¬¿ÉÒÔͨ¹ýselect * form ta for update
nowaitµÄ·½·¨·ÀÖ¹¶à¸ö½ø³Ìͬʱ²Ù×÷ͬһÊý¾Ý¡£
ÕâÖÖËø¶¨·½Ê½Êǽ¨Á¢ÔÚÊý¾Ý¿âÁ¬½ÓµÄ»ù´¡ÉÏ£¬Ò»µ©Á¬½Ó¶Ï¿ª»òÕßËø¶¨½ø³Ìcommitʱ£¬ÕâÖÖËø¶¨¾Í×Ô¶¯½â³ý¡£Í¬Ê±ÕâÖÖËø¶¨·½Ê½ÊÇÒ»ÖÖupdateËø¶¨£¬Ëø¶¨Ê±²»Ó°ÏìÆäËûµÄselect²Ù×÷¡£
Ïà¹ØÎĵµ£º
36.ADD_MONTHS
¡¡¡¡Ôö¼Ó»ò¼õÈ¥Ô·Ý
¡¡¡¡SQL> select to_char(add_months(to_date(199912,yyyymm),2),yyyymm) from dual;
¡¡¡¡TO_CHA
¡¡¡¡------
¡¡¡¡200002
¡¡¡¡SQL> select to_char(add_months(to_date(199912,yyyymm),-2),yyyymm) from dual;
¡¡¡¡TO_CHA
¡¡¡¡------
¡¡¡¡199910
¡¡¡¡37.LAST_DAY
¡¡¡¡·µ» ......
oracle³£Óú¯Êý-----------------------------------------------
SQLÖеĵ¥¼Ç¼º¯Êý
1.ASCII
·µ»ØÓëÖ¸¶¨µÄ×Ö·û¶ÔÓ¦µÄÊ®½øÖÆÊý;
SQL> select ascii(’A’) A,ascii(’a’) a,ascii(’0’) zero,ascii(’ ’) space from dual;
A A ZERO SPACE
--------- --------- - ......
Êý¾Ý¿âÃû(DB_NAME)¡¢ÊµÀýÃû(Instance_name)¡¢ÒÔ¼°²Ù×÷ϵͳ»·¾³±äÁ¿(ORACLE_SID)
ÔÚORACLE7¡¢8Êý¾Ý¿âÖÐÖ»ÓÐÊý¾Ý¿âÃû(db_name)ºÍÊý¾Ý¿âʵÀýÃû(instance_name)¡£ÔÚORACLE8i¡¢9iÖгöÏÖÁËеIJÎÊý£¬¼´Êý¾Ý¿âÓòÃû(db_domain)¡¢·þÎñÃû(service_name)¡¢ÒÔ¼°²Ù×÷ϵͳ»·¾³±äÁ¿(ORACLE_SID)¡£ÕâЩ¶¼´æÔÚÓÚͬһ¸öÊý¾Ý¿âÖеıêʶ£¬ÓÃÓÚ ......
2¡¢ ³éÏóÊý¾ÝµÄÒýÓá£
¡¡¡¡µ±½¨Á¢ºÃ³éÏóÊý¾ÝÀàÐ͵Äʱºò£¬Êý¾Ý¿â¹ÜÀíÔ±¾Í¿ÉÒÔÏò»ù±¾Êý¾ÝÀàÐÍÄÇÑù£¬ÒýÓóéÏóÊý¾ÝÀàÐÍ£¬°üÀ¨ÔÚ½¨Á¢±í»òÕß¶ÔÏà¹Ø×ֶνøÐи³ÖµµÄʱºò£¬¶¼Õâô·½±ã¡£
¡¡¡¡ÈçÔÚ½¨Á¢±íµÄʱºò£¬¿ÉÒÔ°ÑÕâ¸ö³éÏóÊý¾ÝÀàÐÍÖ±½Ó¸úij¸ö×ֶιØÁªÆðÀ´¡£Èç
¡¡¡¡Create Table USERS
¡¡¡¡(F_Adress Adress );
¡¡¡ ......