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 'ÓдíÎ󣬻عö'
ROLLBACK TRANSACTION--ÊÂÎñ»Ø¹öÓï¾ä
END
ELSE
BEGIN
PRINT '³É¹¦£¬Ìá½»'
COMMIT TRANSACTION--ÊÂÎñÌá½»Óï¾ä
END
1.ʲôÊÇÊÂÎñ£ºÊÂÎñÊÇÒ»¸ö²»¿É·Ö¸îµÄ¹¤×÷Âß¼µ¥Ôª£¬ÔÚÊý¾Ý¿âϵͳÉÏÖ´Ðв¢·¢²Ù×÷ʱÊÂÎñÊÇ×öΪ×îСµÄ¿ØÖƵ¥ÔªÀ´Ê¹Óõġ£Ëû°üº¬µÄËùÓÐÊý¾Ý¿â²Ù×÷ÃüÁî×÷Ϊһ¸öÕûÌåÒ»ÆðÏòϵÌá½»»ò³·Ïû£¬ÕâÒ»×éÊý¾Ý¿â²Ù×÷ÃüÁîҪô¶¼Ö´ÐУ¬ÒªÃ´¶¼²»Ö´ÐС£
2.ÊÂÎñµÄÓï¾ä
¡¡¿ªÊ¼ÊÂÎBEGIN TRANSACTION
¡¡Ìá½»ÊÂÎCOMMIT TRANSACTION
¡¡»Ø¹öÊÂÎñ£ºROLLBACK TRANSACTION
3.ÊÂÎñµÄ4¸öÊôÐÔ
¢ÙÔ×ÓÐÔ(Atomicity)£ºÊÂÎñÖеÄËùÓÐÔªËØ×÷Ϊһ¸öÕûÌåÌá½»»ò»Ø¹ö£¬ÊÂÎñµÄ¸öÔªËØÊDz»¿É·ÖµÄ£¬ÊÂÎñÊÇÒ»¸öÍêÕû²Ù×÷¡£
¢ÚÒ»ÖÂÐÔ(Consistemcy)£ºÊÂÎïÍê³Éʱ£¬Êý¾Ý±ØÐëÊÇÒ»Öµģ¬Ò²¾ÍÊÇ˵£¬ºÍÊÂÎ↑ʼ֮ǰ£¬Êý¾Ý´æ´¢ÖеÄÊý¾Ý´¦ÓÚÒ»ÖÂ״̬¡£±£Ö¤Êý¾ÝµÄÎÞËð¡£
¢Û¸ôÀëÐÔ(Isolation)£º¶ÔÊý¾Ý½øÐÐÐ޸ĵĶà¸öÊÂÎñÊDZ˴˸ôÀëµÄ¡£Õâ±íÃ÷ÊÂÎñ±ØÐëÊǶÀÁ¢µÄ£¬²»Ó¦¸ÃÒÔÈκη½Ê½ÒÔÀ´ÓÚ»òÓ°ÏìÆäËûÊÂÎñ¡£
¢Ü³Ö¾ÃÐÔ(Durability)£ºÊÂÎñÍê³ÉÖ®ºó£¬Ëü¶ÔÓÚϵͳµÄÓ°ÏìÊÇÓÀ¾ÃµÄ£¬¸ÃÐ޸ļ´Ê¹³öÏÖϵͳ¹ÊÕÏÒ²½«Ò»Ö±±£Áô£¬ÕæʵµÄÐÞ¸ÄÁËÊý¾Ý¿â
4.ÊÂÎñµÄ±£´æµã
SAVE TRANSACTION ±£´æµãÃû³Æ --×Ô¶¨Òå±£´æµãµÄÃû³ÆºÍλÖÃ
ROLLBACK TRANSACTION ±£´æµãÃû³Æ --»Ø¹öµ½×Ô¶¨ÒåµÄ±£´æµã
¶þÊÂÀý
ËùνÊÂÎñÊÇÖ¸Ò»×éÂß¼²Ù×÷µ¥Ôª£¬ËüʹÊý¾Ý´ÓÒ»ÖÖ״̬±ä»»µ½ÁíÒ»ÖÖ״̬¡£
°üÀ¨ËĸöÌØÐÔ:
1¡¢Ô×ÓÐÔ ¾ÍÊÇ
Ïà¹ØÎĵµ£º
»Ö¸´Ä£Ê½£¨Recovery Model£©Ö¼ÔÚ¿ØÖÆÊÂÎñÈÕ־ά»¤¡£»Ö¸´Ä£Ê½ËµÃ÷Á˹¤×÷¶ªÊ§µÄ·çÏÕ£¬ÄÜ·ñ»Ö¸´µ½Ê±µã£¿
SQL ServerÊý¾Ý¿âÓÐÈýÖÖ»Ö¸´Ä£Ê½£º¼òµ¥»Ö¸´Ä£Ê½¡¢ÍêÕû»Ö¸´Ä£Ê½ºÍ´óÈÝÁ¿ÈÕÖ¾»Ö¸´Ä£Ê½¡£
Ïà¶ÔÓÚ¼òµ¥»Ö¸´Ä£Ê½¶øÑÔ£¬ÍêÕû»Ö¸´Ä£Ê½ºÍ´óÈÝÁ¿ÈÕÖ¾»Ö¸´Ä£Ê½ÌṩÁ˸üÇ¿µÄÊý¾Ý±£»¤¹¦ÄÜ¡£ÕâЩ»Ö¸´Ä£Ê½¶¼ÊÇ»ùÓÚ±¸·ÝÊÂÎñÈÕÖ ......
1 :ÆÕͨSQLÓï¾ä¿ÉÒÔÓÃExecÖ´ÐÐ
Àý: Select * from tableName
Exec('select * from tableName')
& ......
Select CONVERT(varchar(100), GETDATE(), 23)£»
·µ»ØÐÎʽ£º2008-11-29
Select CONVERT(varchar(100), GETDATE(), 102)
·µ»ØÐÎʽ£º2008.11.29
Select CONVERT(varchar(100), GETDATE(), 101)
·µ»ØÐÎʽ£º11/29/2008
¸ü¶àÏêÇéÇë²Î¼ûÈçÏÂÁÐ±í£º
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 ......
½¨±í£º
CREATE TABLE [DB.dbo].tableName
(Stud_id int CONSTRAINT constraintName1 not null primary key,
Name nvarchar(5) not null,
Birthday datetime,
Gender nchar(1),
Telcode char(12),
Zipcode char(6) CONSTRAINT constraintName2 CHECK(zipcode like [ ......