mysqlÇøÃ»¸ßÊÖ - MS-SQL Server / »ù´¡Àà
ÎÒ¾õµÃmysqlºÍsqlserverÓй²Í¬µÄµØ·½£º
ÓиöÎÊÌâÊǹØÓÚ±íµÄËøÎÊÌ⣺
½ø³ÌA ½ø³ÌB
select * from user where id in lock share mode£¨¹²ÏíËø)
update user set name='55' where id=1£¨´ËÊ±Ëø×¡µÈ´ýA£©
update user set name='66' where id=1£¨Õâ¸öʱºò»á³öÏÖËÀËø)
¸üгɹ¦
Èç¹û»»³Éɾ³ýµÄ»°¾Í²»»á³öÏÖËÀËø×´Ì¬£¬B»áµÈ´ýAÌá½»ºóɾ³ý
Èç¹û½«select»»ÎªÅÅËûËøµÄ»°B»áµÈ´ýAÌá½»ºó¸üÐÂ
ÊéÖнâÊÍÊÇBÓÉÓÚÎÞ·¨»ñÈ¡¹²ÏíËøËùÒÔ·ÅÈë¶ÓÁУ¬A´ËʱupdateÓë¶ÓÁеÄBµÄupdate³åÍ»Ôì³ÉËÀËø£¬
ÎÒÈÏΪµÄÊÇBÓ¦¸ÃÔÚAÌá½»ºó²Å½øÐиüвÙ×÷£¬´ËʱΪʲô²¢Ã»ÓÐÌá½»¾Í»á·¢Éú³åÍ»ÄØ£¿¶øselectÉèΪÅÅËûËø¾Í²»»á
¹²ÏíËøÓëÅÅËûËø»¹ÓÐʲôÔÀíÄØ£¿Ð»Ð»
Èç¹ûÊÇsql server,Ôò²Î¿¼ÏÂÃæµÄһЩÎÄÕÂ.
SQL code:
1 ÈçºÎËøÒ»¸ö±íµÄijһÐÐ
A Á¬½ÓÖÐÖ´ÐÐ
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
begin tran
select * from tablename with (rowlock) where id=3
waitfor delay '00:00:05'
commit tran
BÁ¬½ÓÖÐÈç¹ûÖ´ÐÐ
update tablename set colname='10' where id=3 --ÔòÒªµÈ´ý5Ãë
update tablename set colname='10' where id<>3 --¿ÉÁ¢¼´Ö´ÐÐ
2 Ëø¶¨Êý¾Ý¿âµÄÒ»¸ö±í
Ïà¹ØÎÊ´ð£º
ÎÒÒ»¸öÏîÄ¿£¬Óиö²åÈë²Ù×÷£¬¾ßÌåÊÇÕâÑùµÄ£º
ÎÒÓнø»õÐÅÏ¢±í¡£ÔÚ³ö»õʱѡÔñÏàÓ¦µÄ½ø»õÐÅÏ¢£¬ÊäÈëÊýÁ¿£¬Ñ¡Ôñ²¿Ãź󣬵㱣´æ°´Å¥£¬ÓÉÓÚÍøÂçÑÓʱ£¬µãÒ»ÏÂûÓз´Ó³£¬ÓÚÊÇÓû§¾ÍÓÖµãһϣ¬µ¼ÖÂÒ»´Î²åÈëÁËÁ½Ìõ¼Ç¼:
Àý£º
......
ÎÒÓõÄÊÇÁ¬½Ó³Ø×öµÄ£¬ÅäÁ¬½Ó³ØµÄ·½·¨Ó¦¸ÃûÓÐ´í£¬ÎªÊ²¾ÍÊdzöÏÖÕâÖÖÎÊÌâ
javax.servlet.ServletException: javax.naming.NameNotFoundException: No object bound to name java:comp/env/test
ÇëÎÊ´óÏÀÃÇÕâÊÇÔ ......
×Ö¶Î1,×Ö¶Î2.....×Ö¶ÎN,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
ÏëÒªµÄ½á¹ûÊÇ:
1,Na ......
String sqlCount="select count(*) from usertable where username='"+
userName+"'";Õâ¾ä»° ʲôÒâ˼°¡£¡
Õâ¾ä»°Êä³ö³öÀ´¾ÍÊÇ
select count(*) from usertable where username='ÄãµÄ±äÁ¿ ......