Ëø³õ̽(sqlserver 2005)
HOLDLOCK ½«¹²ÏíËø±£Áôµ½ÊÂÎñÍê³É£¬¶ø²»ÊÇÔÚÏàÓ¦µÄ±í¡¢ÐлòÊý¾ÝÒ³²»ÔÙÐèҪʱ¾ÍÁ¢¼´ÊÍ·ÅËø¡£HOLDLOCK µÈͬÓÚ SERIALIZABLE¡£
NOLOCK ²»Òª·¢³ö¹²ÏíËø£¬²¢ÇÒ²»ÒªÌṩÅÅËüËø¡£µ±´ËÑ¡ÏîÉúЧʱ£¬¿ÉÄÜ»á¶ÁȡδÌá½»µÄÊÂÎñ»òÒ»×éÔÚ¶ÁÈ¡ÖÐ¼ä»Ø¹öµÄÒ³Ãæ¡£ÓпÉÄÜ·¢ÉúÔà¶Á¡£½öÓ¦ÓÃÓÚ SELECT Óï¾ä¡£
PAGLOCK ÔÚͨ³£Ê¹Óõ¥¸ö±íËøµÄµØ·½²ÉÓÃÒ³Ëø¡£
READCOMMITTED ÓÃÓëÔËÐÐÔÚÌá½»¶Á¸ôÀë¼¶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃ衣ĬÈÏÇé¿öÏ£¬SQL Server 2000 Ôڴ˸ôÀë¼¶±ðÉϲÙ×÷¡£ READPAST Ìø¹ýËø¶¨ÐС£´ËÑ¡Ïîµ¼ÖÂÊÂÎñÌø¹ýÓÉÆäËüÊÂÎñËø¶¨µÄÐУ¨ÕâЩÐÐÆ½³£»áÏÔʾÔÚ½á¹û¼¯ÄÚ£©£¬¶ø²»ÊÇ×èÈû¸ÃÊÂÎñ£¬Ê¹ÆäµÈ´ýÆäËüÊÂÎñÊÍ·ÅÔÚÕâЩÐÐÉϵÄËø¡£READPAST ËøÌáʾ½öÊÊÓÃÓÚÔËÐÐÔÚÌá½»¶Á¸ôÀë¼¶±ðµÄÊÂÎñ£¬²¢ÇÒÖ»ÔÚÐм¶ËøÖ®ºó¶ÁÈ¡¡£½öÊÊÓÃÓÚ SELECT Óï¾ä¡£ READUNCOMMITTED µÈͬÓÚ NOLOCK¡£
REPEATABLEREAD ÓÃÓëÔËÐÐÔÚ¿ÉÖØ¸´¶Á¸ôÀë¼¶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃè¡£
ROWLOCK ʹÓÃÐм¶Ëø£¬¶ø²»Ê¹ÓÃÁ£¶È¸ü´ÖµÄÒ³¼¶ËøºÍ±í¼¶Ëø¡£
SERIALIZABLE ÓÃÓëÔËÐÐÔÚ¿É´®ÐжÁ¸ôÀë¼¶±ðµÄÊÂÎñÏàͬµÄËøÓïÒåÖ´ÐÐɨÃè¡£µÈͬÓÚ HOLDLOCK¡£
TABLOCK ʹÓñíËø´úÌæÁ£¶È¸üϸµÄÐм¶Ëø»òÒ³¼¶Ëø¡£ÔÚÓï¾ä½áÊøÇ°£¬SQL Server Ò»Ö±³ÖÓиÃËø¡£µ«ÊÇ£¬Èç¹ûͬʱָ¶¨ HOLDLOCK£¬ÄÇôÔÚÊÂÎñ½áÊøÖ®Ç°£¬Ëø½«±»Ò»Ö±³ÖÓС£ TABLOCKX ʹÓñíµÄÅÅËüËø¡£¸ÃËø¿ÉÒÔ·ÀÖ¹ÆäËüÊÂÎñ¶ÁÈ¡»ò¸üÐÂ±í£¬²¢ÔÚÓï¾ä»òÊÂÎñ½áÊøÇ°Ò»Ö±³ÖÓС£
UPDLOCK ¶ÁÈ¡±íʱʹÓøüÐÂËø£¬¶ø²»Ê¹Óù²ÏíËø£¬²¢½«ËøÒ»Ö±±£Áôµ½Óï¾ä»òÊÂÎñµÄ½áÊø¡£UPDLOCK µÄÓŵãÊÇÔÊÐíÄú¶ÁÈ¡Êý¾Ý£¨²»×èÈûÆäËüÊÂÎñ£©²¢ÔÚÒÔºó¸üÐÂÊý¾Ý£¬Í¬Ê±È·±£×Ô´ÓÉϴζÁÈ¡Êý¾ÝºóÊý¾ÝûÓб»¸ü¸Ä¡£
XLOCK ʹÓÃÅÅËüËø²¢Ò»Ö±±£³Öµ½ÓÉÓï¾ä´¦ÀíµÄËùÓÐÊý¾ÝÉϵÄÊÂÎñ½áÊøÊ±¡£
¿ÉÒÔʹÓà PAGLOCK »ò TABLOCK Ö¸¶¨¸ÃËø£¬ÕâÖÖÇé¿öÏÂÅÅËüËøÊÊÓÃÓÚÊʵ±¼¶±ðµÄÁ£¶ÈËøµÄ¸ÅÊö
Ò». ΪʲôҪÒýÈëËø
¶à¸öÓû§Í¬Ê±¶ÔÊý¾Ý¿âµÄ²¢·¢²Ù×÷ʱ»á´øÀ´ÒÔÏÂÊý¾Ý²»Ò»ÖµÄÎÊÌâ: ¶ªÊ§¸üÐÂ
A,BÁ½¸öÓû§¶ÁͬһÊý¾Ý²¢½øÐÐÐÞ¸Ä,ÆäÖÐÒ»¸öÓû§µÄÐ޸Ľá¹ûÆÆ»µÁËÁíÒ»¸öÐ޸ĵĽá¹û,±ÈÈ綩Ʊϵͳ
Ôà¶Á
AÓû§ÐÞ¸ÄÁËÊý¾Ý,ËæºóBÓû§ÓÖ¶Á³ö¸ÃÊý¾Ý,µ«AÓû§ÒòΪijЩÔÒòÈ¡ÏûÁ˶ÔÊý¾ÝµÄÐÞ¸Ä,Êý¾Ý»Ö¸´ÔÖµ,´ËʱBµÃµ½µÄÊý¾Ý¾ÍÓëÊý¾Ý¿âÄÚµÄÊý¾Ý²úÉúÁ˲»Ò»ÖÂ
²»¿ÉÖØ¸´¶Á
AÓû§¶ÁÈ¡Êý¾Ý,ËæºóBÓû§¶Á³ö¸ÃÊý¾Ý²¢ÐÞ¸
Ïà¹ØÎĵµ£º
//ÕâÊÇÌí¼Ó
private void button1_Click(object sender, EventArgs e)
{
string s = "Persist Security Info=False;Integrated Security=SSPI;database=IIntegration;server=(local)";
&n ......
//test.java
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
imp ......
Declare @Id int
Declare @Name varchar(20)
Declare Cur Cursor For Select Id,Name from T_User
Open Cur
Fetch next from Cur Into @Id,@Name
While @@fetch_status=0
Begin
Update T_User Set [Name]=@Name,Id=@Id
......