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

SQL ºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ

      ¼ò½é
¡¡¡¡±¾ÎĽ²ÊöMS SQL ServerºÍOracle¶ÔÊý¾Ý¿âÊÂÎñ´¦ÀíµÄ²îÒìÐÔ£¬ÒÔ¼°OracleÈçºÎ¶ÔÊÂÎñ´¦ÀíµÄʵÏÖ¡£
¡¡¡¡Ê²Ã´ÊÇÊÂÎñ
¡¡¡¡Êý¾Ý¿âÊÂÎñ(Database Transaction)ÊÇÒ»×éÊý¾Ý¿â²Ù×÷µÄ´¦Àíµ¥Ôª¡£ÊÂÎñ·ûºÏACIDµÄÌØÐÔ£º
¡¡¡¡Atomic:Ô­×ÓÐÔ£¬ÒªÃ´È«²¿ÒªÃ´Ò»ÎÞËùÓС£All or None.
¡¡¡¡Consistent:Ò»ÖÂÐÔ£¬ËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»Ö¡£
¡¡¡¡Isolated:·ÖÀëÐÔ£¬²»Í¬ÊÂÎñ²»»¥ÏàÓ°Ïì¡£
¡¡¡¡Durable:³Ö¾ÃÐÔ£¬Ìá½»ÊÂÎñµÄÊý¾ÝÐèÒª³Ö¾Ã»¯¡£
¡¡¡¡ÎªÊ²Ã´ÒªÊ¹ÓÃÊÂÎñ
¡¡¡¡ÊµÏÖÊÂÎñÖ÷ÒªÓÐÁ½´ó¹¦ÄÜ£º
¡¡¡¡1.±£Ö¤Êý¾Ý¿âµÄconsistent(Ò»ÖÂÐÔ״̬)£¬±£³ÖËùÓÐÒÀÀµ¹ØÏµÒÔ¼°Ô¼ÊøÒ»ÖÂ)¡£ÄÄÅÂÊý¾Ý¿â¹ÜÀíϵͳ³öÏÖ¹ÊÕÏʱ(ÀýÈç¶Ïµç)£¬Ò²Äָܻ´µ½Ò»ÖÂÐÔ״̬¡£ÀýÈçÒ»¸öÒøÐÐתÕÊϵͳ£¬ÕÅÈý¸øÀîËÄת3000Ô²RMB£¬ÕÅÈýÕʺÅÉϼõ3000ºÍÀîËÄÕʺÅÉϼÓ3000ÐèҪͬʱÍê³É£¬·ñÔòϵͳµÄÕʾͲ»Æ½ÁË¡£Ò²ÀýÈçÓÐЩÏúÊÛϵͳµÄ»ã×ܱíºÍÃ÷ϸ±í£¬ÊÇÒ»¸öÖ÷±íºÍÒ»¸ö´Ó±í£¬ÐèҪͬ²½¸üС£
¡¡¡¡2.²¢·¢Ê±·ÖÀ벻ͬÊÂÎñ²Ù×÷¡£ÀýÈç±à¼­¹ý³ÌÖеÄÊý¾Ý²»¸øÆäËûÊÂÎñ²éѯµ½¡£ÕâÒ²ÊÇÏà¶ÔµÄ£¬ÔÚÌØÐ§ÐèÇóÏ¿ÉÄÜÒªÖ§³Ödirty read(Ôà¶Á)£¬µ«²»ÊÇÕâÀïÌÖÂ۵ķ¶Î§ÁË¡£
¡¡¡¡SQL Server 2008 µÄÊÂÎñÀàÐÍ
¡¡¡¡1.×Ô¶¯Ìá½»ÊÂÎñ Autocommit Transactions
¡¡¡¡ÕâÊÇSQL ServerĬÈϵÄÊÂÎñÀàÐÍ£¬Ã¿Ò»Ìõµ¥¶ÀµÄSQLÓï¾ä(SQL statement)¶¼Êǵ¥¶ÀµÄÒ»¸öÊÂÎñ£¬Óï¾äÖ´ÐÐÍê±Ïºó×Ô¶¯Ìá½»¡£µ÷Ó÷½²»ÐèÒªÊÖ¹¤¿ØÖÆÊÂÎñÁ÷³Ì¡£
¡¡¡¡2.ÏÔʾÊÂÎñ Explicit Transactions
¡¡¡¡µ÷Ó÷½ÐèÒªµ÷ÓÃAPI»òÕßʹÓÃT-SQLµÄBEGIN TRANSACTION Óï¾äÀ´´ò¿ªÊÂÎñ¡£ÐèÒªµ÷ÓÃCOMMIT »òÕß ROLLBACK TRANSACTION À´Ìá½»»òÕ߻عö¡£
¡¡¡¡3.ÒþʽÊÂÎñ Implicit Transactions
¡¡¡¡Ê¹ÓÃSET IMPLICIT_TRANSACTIONS ON°ÑÊÂÎñģʽ±ä³ÉÒþʽģʽ¡£µ÷Ó÷½²»ÐèÒªÖ´ÐÐBEGIN TRANSACTION Óï¾äÀ´´ò¿ªÊÂÎñ¡£Êý¾Ý¿âÒýÇæÖ´Ðе½SQLÓï¾äµÄʱºò×Ô¶¯´ò¿ªÊÂÎñ¡£µ÷Ó÷½ÐèÒªµ÷ÓÃCOMMIT »òÕß ROLLBACK TRANSACTION À´Ìá½»»òÕ߻عö¡£µ±Êý¾Ý¿âÒýÇæÖ´ÐÐÏÂÒ»¸öSQLÓï¾äʱÓÖ×Ô¶¯´ò¿ªÒ»¸öÐÂÊÂÎñ¡£
OracleµÄÊÂÎñÀàÐÍ
¡¡¡¡OracleµÄÊÂÎñ´¦ÀíÀàÐÍÓеãÏñSQL ServerµÄÒþʽÊÂÎñ¡£µ±Ö´Ðе½µÚÒ»¸ö¿ÉÖ´ÐеÄSQLÓï¾äʱ×Ô¶¯´ò¿ªÊÂÎñ£¬È»ºóÐèÒªµ÷Ó÷½Ö´ÐÐcommit»òÕßrollbackÀ´Ìá½»»òÕ߻عöÊÂÎñ£¬Èç¹ûÓÐDDLÓï¾ä£¬OracleÒ²»á×Ô¶¯Ìá½»ÊÂÎñµÄ¡£
¡¡¡¡²Î¿¼:Transaction Management
¡¡¡¡OracleµÄÊÂÎñµÄʵÏÖ
¡¡¡¡OracleµÄ½á¹¹·ÖÂß¼­ÉϺÍÎïÀíÉϵÄÇø±ð¡£Âß¼­ÉϵĽṹÊDZí¿Õ¼ä£¬¶øÎïÀíÉϵĽṹÊÇ


Ïà¹ØÎĵµ£º

mysql ÓëOracle º¯Êý¶Ô±È

Oracleº¯ÊýºÍmysqlº¯Êý±È½Ï
1.       OracleÖеÄto_number()ת»»³ÉÊý×Ö£»
Oracle> Select to_number(‘123’) from dual;  -----         123;
           &nbs ......

AccessºÍSQL2000ÖÐÓï¾äµÄÇø±ð

1 £¬¶ÔÓÚÈÕÆÚ×Ö¶Î×Ö¶Î
access±íʾΪ£º#1981-28-12#
SQLSERVER2000±íʾΪ£º''1981-02-12''
2,SQLÓï¾äÇø±ð£¬select ,update ÔÚ¶Ôµ¥±í²Ù×÷ʱ¶¼²î²»¶à£¬
µ«¶à±í²Ù×÷ʱupdateÓï¾äµÄÇø±ðACCESSÓëSQLSERVERÖеÄUpdateÓï¾ä¶Ô±È:
SQLSERVERÖиüжà±íµÄUpdateÓï¾ä:
Update Tab1
SET a.Name = b.Name
from Tab1 a,Tab2 b
Whe ......

sqlserverÒÆÖ²ÎªOracle±Ê¼Ç

Oracle±Ê¼Ç
l         ¹ØÓÚTRUNCº¯Êý
   SELECT
   RELATED_ID ,
      DOC_ID ,
      CAT_ID ,
      CAT_CODE ,
      RELEASE_DATE ,
&n ......

SQLSERVER SQLÐÔÄÜÓÅ»¯

1.Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)¡¡¡¡
¡¡¡¡ SQLSERVERµÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬Òò´Ëfrom×Ó¾äÖÐдÔÚ×îºóµÄ±í£¨»ù´¡±ídriving table£©½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í£¬µ±SQLSERVER´¦Àí¶à¸ö±íʱ£¬»áÔËÓÃÅÅÐò¼°ºÏ²¢µÄ·½Ê½Á ......

sqlserver:openrowset / oracle:table/view@dblinkÃû

Ö»ÊÇsqlserver ÌṩµÄÔ¶³ÌÊý¾Ý·ÃÎʺ¯Êý;  ÔÚ±¾µØsqlserver ÖÐÈ¡ÍⲿÊý¾ÝÔ´Êý¾Ýʱºò¿ÉÓÃ;
¶ÔÁ¬½Ó±¾µØ oracle ²Ù×÷Ô¶³Ì oracle ²»ÄÜʹÓÃ; ²âÊÔ: pl/sql ÖÐʹÓÃ:
select * from openrowset(................); ÎÞЧ!!!!!!!!!!!!!!
ÔÚoracle ÖÐÐèÒª·ÃÎÊÔ¶³ÌÊý¾Ý,ÐèÒª½¨Á¢Ò»Á¬½ÓÔ¶³Ìoracle µÄ dblink ;
ÔÙÓÃÈçÏ·½ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ