SQLÊÂÎñ´¦Àí
-sqlÊÂÎñ´¦Àí
----------------------Àí------------ÂÛ-----------------------
1.ʲôÊÇÊÂÎñ£ºÊÂÎñÊÇÒ»¸ö²»¿É·Ö¸îµÄ¹¤×÷Âß¼µ¥Ôª£¬ÔÚÊý¾Ý¿âϵͳÉÏÖ´Ðв¢·¢²Ù×÷ʱÊÂÎñÊÇ×öΪ×îСµÄ¿ØÖƵ¥ÔªÀ´Ê¹Óõġ£Ëû°üº¬µÄËùÓÐÊý¾Ý¿â²Ù×÷ÃüÁî×÷Ϊһ¸öÕûÌåÒ»ÆðÏòϵÌá½»»ò³·Ïû£¬ÕâÒ»×éÊý¾Ý¿â²Ù×÷ÃüÁîҪô¶¼Ö´ÐУ¬ÒªÃ´¶¼²»Ö´ÐС£
2.ÊÂÎñµÄÓï¾ä
¿ªÊ¼ÊÂÎBEGIN TRANSACTION
Ìá½»ÊÂÎCOMMIT TRANSACTION
»Ø¹öÊÂÎñ£ºROLLBACK TRANSACTION
3.ÊÂÎñµÄ4¸öÊôÐÔ
¢ÙÔ×ÓÐÔ(Atomicity)£ºÊÂÎñÖеÄËùÓÐÔªËØ×÷Ϊһ¸öÕûÌåÌá½»»ò»Ø¹ö£¬ÊÂÎñµÄ¸öÔªËØÊDz»¿É·ÖµÄ£¬ÊÂÎñÊÇÒ»¸öÍêÕû²Ù×÷¡£
¢ÚÒ»ÖÂÐÔ(Consistemcy)£ºÊÂÎïÍê³Éʱ£¬Êý¾Ý±ØÐëÊÇÒ»Öµģ¬Ò²¾ÍÊÇ˵£¬ºÍÊÂÎ↑ʼ֮ǰ£¬Êý¾Ý´æ´¢ÖеÄÊý¾Ý´¦ÓÚÒ»ÖÂ״̬¡£±£Ö¤Êý¾ÝµÄÎÞËð¡£
¢Û¸ôÀëÐÔ(Isolation)£º¶ÔÊý¾Ý½øÐÐÐ޸ĵĶà¸öÊÂÎñÊDZ˴˸ôÀëµÄ¡£Õâ±íÃ÷ÊÂÎñ±ØÐëÊǶÀÁ¢µÄ£¬²»Ó¦¸ÃÒÔÈκη½Ê½ÒÔÀ´ÓÚ»òÓ°ÏìÆäËûÊÂÎñ¡£
¢Ü³Ö¾ÃÐÔ(Durability)£ºÊÂÎñÍê³ÉÖ®ºó£¬Ëü¶ÔÓÚϵͳµÄÓ°ÏìÊÇÓÀ¾ÃµÄ£¬¸ÃÐ޸ļ´Ê¹³öÏÖϵͳ¹ÊÕÏÒ²½«Ò»Ö±±£Áô£¬ÕæÊµµÄÐÞ¸ÄÁËÊý¾Ý¿â
4.ÊÂÎñµÄ±£´æµã
SAVE TRANSACTION ±£´æµãÃû³Æ --×Ô¶¨Òå±£´æµãµÄÃû³ÆºÍλÖÃ
ROLLBACK TRANSACTION ±£´æµãÃû³Æ --»Ø¹öµ½×Ô¶¨ÒåµÄ±£´æµã
-------------------ʵ------------------Àý----------------------------
BEGIN TRANSACTION--¿ªÊ¼ÊÂÎñ
DECLARE @errorSun INT --¶¨Òå´íÎó¼ÆÊýÆ÷
SET @errorSun=0 --û´íΪ0
UPDATE a SET id=232 WHERE a=1 --ÊÂÎñ²Ù×÷SQLÓï¾ä
SET @errorSun=@errorSun+@@ERROR --ÀÛ¼ÆÊÇ·ñÓдí
UPDATE aa SET id=2 WHERE a=1 --ÊÂÎñ²Ù×÷SQLÓï¾ä
SET @errorSun=@errorSun+@@ERROR --ÀÛ¼ÆÊÇ·ñÓдí
IF @errorSun<>0
BEGIN
PRINT 'ÓдíÎ󣬻عö'
ROLLBACK TRANSACTION--ÊÂÎñ»Ø¹öÓï¾ä
END
ELSE
BEGIN
PRINT '³É¹¦£¬Ìá½»'
COMMIT TRANSACTION--ÊÂÎñÌá½»Óï¾ä
END
sqlÊÂÎñ´¦Àí
BEGIN TRANSACTION--¿ªÊ¼ÊÂÎñ
DECLARE @errorSun INT --¶¨Òå´íÎó¼ÆÊýÆ÷
SET @errorSun=0 --û´íΪ0
UPDATE a SET id=232 WHERE a=1 --ÊÂÎñ²Ù×÷SQLÓï¾ä
SET @errorSun=@errorSun+@@ERROR --ÀÛ¼ÆÊÇ·ñÓдí
UPDATE aa SET id=2 WHERE a=1 --ÊÂÎñ²Ù×÷SQLÓï¾ä
SET @errorSun=@errorSun+@@ERROR --ÀÛ¼ÆÊÇ·ñÓдí
IF @errorSun<>0
BEGIN
PRINT
Ïà¹ØÎĵµ£º
VBʵÏÖSQL ServerÊý¾Ý¿â±¸·Ý/»Ö¸´
http://blog.csdn.net/cncco/archive/2006/05/15/729356.aspx
’**Ä£ ¿é Ãû£ºfBackupDatabase_a
’**Ãè Êö£º±¸·ÝÊý¾Ý¿â,·µ»Ø³ö´íÐÅÏ¢,Õý³£»Ö¸´,·µ»Ø""
’**µ÷ ÓãºfBackupDatabase_a "±¸·ÝÎļþÃû","Êý¾Ý¿âÃû"
’**²ÎÊý˵Ã÷£ ......
±£»¤SQL ServerÊý¾Ý¿âµÄÊ®´ó¾øÕÐ
http://blog.csdn.net/cncco/archive/2007/09/15/1785880.aspx
1. °²×°×îеķþÎñ°ü
ΪÁËÌá¸ß·þÎñÆ÷°²È«ÐÔ£¬×îÓÐЧµÄÒ»¸ö·½·¨¾ÍÊÇÉý¼¶µ½SQL Server 2000 Service Pack 3a (SP3a)¡£ÁíÍ⣬Äú»¹Ó¦¸Ã°²×°ËùÓÐÒÑ·¢²¼µÄ°²È«¸üС£
2. ʹÓÃMicrosoft»ùÏß°²È«ÐÔ·ÖÎöÆ÷£¨MBSA£©À´ÆÀ¹À·þÎñÆ÷µÄ°² ......
±íjh03ÓÐÏÂÁÐÊý¾Ý£º
name¡¡score
aa¡¡¡¡99
bb¡¡¡¡56
cc¡¡¡¡56
dd¡¡¡¡77
ee¡¡¡¡78
ff¡¡¡¡76
gg¡¡¡¡78
ff¡¡¡¡50
1. Ãû´ÎÉú³É·½Ê½1,ScoreÖØ¸´Ê±ºÏ²¢Ãû´Î
SELECT *¡¡,¡¡Place=(SELECT COUNT(DISTINCT Score) from jh03 WHERE Score >= a.Score)
from jh03 a
ORDER BY Place
½á¹û
Name Score Pla ......
Ò»¡¢SQL´æ´¢¹ý³ÌµÄ¸ÅÄÓŵ㼰Óï·¨
¡¡¡¡ÕûÀíÔÚѧϰ³ÌÐò¹ý³Ì֮ǰ£¬ÏÈÁ˽âÏÂʲôÊÇ´æ´¢¹ý³Ì?ΪʲôҪÓô洢¹ý³Ì£¬ËûÓÐÄÇЩÓŵã
¡¡¡¡¶¨Ò壺½«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´, ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ,Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî ......
/*»ñÈ¡ÖØ¸´¼Ç¼ÖнÏСµÄÄǸöID*/ create table tmp_Repeat as select min(id) as id from poi group by idcode having count(*) >1; /*±¸·Ýɾ³ýµÄÊý¾Ý*/ select * from poi where id in (select id from tmp_repeat) /*ɾ³ýÖØ¸´¼Ç¼ÖÐID½ÏСµÄÄÇÌõ
select replace('°¢¹ðÊǸöºÃº¢×Ó','°¢¹ð','СÏÍ') from du ......