SQL SERVER´æ´¢¹ý³ÌÖÐʹÓÃÊÂÎñ
Create PROCEDURE UpdateWanjun
@UserName nvarchar(500),
@UserPassword nvarchar(500),
@ReturnVal int output
AS
--Set XAcT_ABORT ON
Begin Transaction T
Update admins set UserPassword = @UserPassword where UserName = @UserName
Update admins set UserPassword = @UserPassword,a='aaadfasdfasdfas' where id=4 --³ö´íÓï¾ä ,aΪintÐÍ,´óСΪĬÈÏÖµ4
--set @ReturnVal=@@Rowcount(Õâ¸ö±äÁ¿,Ö»ÄÜÔÚ½ô°¤×ÅËüµÄÉÏÃæSQLÏÂÆð×÷ÓÃ,ÕâÑù²ÅÄÜ·µ»ØÖµ,Ö»ÓзÅÔÚUpdateÏÂÃæ²Å¹ÜÓÃ)
IF @@Error <> 0
Begin
Print '111'
RollBack Transaction T
End
Else
print '222'
COMMIT Transaction T
GO
####################################################################################
Èç¹ûÔÚÒ»¸ö´æ´¢¹ý³ÌÖÐÖ´Ðе÷ÓÃÁíÒ»¸ö·þÎñÆ÷ÉϵĴ洢¹ý³Ìʱ£¬Ìí¼ÓÊÂÎñʱÐèҪʹÓÃ
BEGIN DISTRIBUTED TRANSACTIONÀ´¿ªÊ¼ÊÂÎñ£¨·Ö²¼Ê½ÊÂÎñ£©
BEGIN DISTRIBUTED TRAN [ SACTION ]
[ transaction_name
| @tran_name_variable
]
²ÎÊý
transaction_name
ÊÇÓû§¶¨ÒåµÄÊÂÎñÃû£¬ÓÃÓÚ¸ú×Ù MS DTC ʵÓù¤¾ßÖеķֲ¼Ê½ÊÂÎñ¡£transaction_name
±ØÐë·ûºÏ±êʶ·û¹æÔò£¬µ«ÊǽöʹÓÃÍ· 32 ¸ö×Ö·û¡£
@
tran_name_variable
ÊÇÓû§¶¨ÒåµÄÒ»¸ö±äÁ¿Ãû£¬Ëüº¬ÓÐÒ»¸öÊÂÎñÃû£¬¸ÃÊÂÎñÃûÓÃÓÚ¸ú×Ù MS DTC ʵÓù¤¾ßÖеķֲ¼Ê½ÊÂÎñ¡£±ØÐëÓà char
¡¢varchar
¡¢nchar
»ò nvarchar
Êý¾ÝÀàÐÍÉùÃ÷¸Ã±äÁ¿¡£
×¢ÊÍ
Ö´ÐÐ BEGIN DISTRIBUTED TRANSACTION Óï¾äµÄ·þÎñÆ÷ÊÇÊÂÎñ´´½¨ÈË£¬²¢ÇÒ¿ØÖÆÊÂÎñµÄÍê³É¡£µ±Á¬½Ó·¢³öºóÐø
COMMIT TRANSACTION »ò ROLLBACK TRANSACTION Óï¾äʱ£¬Ö÷¿Ø·þÎñÆ÷ÇëÇó MS DTC
ÔÚËùÉæ¼°µÄ·þÎñÆ÷¼ä¹ÜÀí·Ö²¼Ê½ÊÂÎñµÄÍê³É¡£
ÓÐÁ½¸ö·½·¨¿É½«Ô¶³Ì SQL ·þÎñÆ÷µÇ¼ÇÔÚÒ»¸ö·Ö²¼Ê½ÊÂÎñÖУº
·Ö²¼Ê½ÊÂÎ
Ïà¹ØÎĵµ£º
SqlÓï¾ä
1. ˵Ã÷£º¸´ÖƱí(Ö»¸´Öƽṹ£¬Ô´±íÃû£ºa£¬Ð±íÃû£ºb) SQL:select * into bfrom awhere 1<>1;
2. ˵Ã÷£º¿½±´± ......
sql serverµÄ money ÀàÐÍÆäʵ¾ÍÊÇСÊýÀàÐÍ decimal £¬ÎÒ²»Ï²»¶ÓÃËü£¬ÒòΪÓÐÒ»´Îʲô¹¤¾ßÉú³É£¬·¢ÏÖËü×Ô¶¯°ÑmoneyÀàÐÍת»»³ÉÁËdecimalÀàÐÍÁË£¬ÓëÆäÈÃËüת£¬»¹²»Èç×Ô¼ºÉè¼ÆÊý¾Ý¿âʱ½«»õ±ÒÀàÐÍ×Ö¶ÎÉèÖÃΪ decimal ÀàÐͲ»¾ÍµÃÁË£¬·ÏÄÇʸÉÂ ×Ö½ÚÊý ³¤¶È(СÊýµãǰ.СÊýµãºó) ......
¸ÅÄÔÚ±àд°²È«´úÂëʱ£¬×îÖØÒªµÄ¹æÔòÖ®Ò»¾ÍÊÇ“¾ø¶Ô²»ÒªÃ¤Ä¿µÄÏàÐÅÓû§µÄÊäÈ딡£
ÀûÓÃADO.NET 2.0µÄSqlConnectionStringBuilderÀàÉú³ÉÊý¾Ý¿âÁ¬½Ó×Ö·û´®£¬Ëü¿ÉÒÔÓÐЧµÄ·ÀÖ¹“SQLÁ¬½Ó×Ö·û´®¶ñÒâ×¢È딣¬ÒòΪÕâ¸öÀàÊÇרÃÅΪSQL SERVERÉè¼ÆµÄËùÒÔ£»Ëü¼æÈݾÉʽ¹Ø¼ü×Ö¡£¹ØÓÚÈçºÎʹÓÃSqlConnectionS ......
SQL> setsqlprompt"_user _privilege> " ͨ¹ýÒÔÉÏÉèÖã¬ÄãµÄsqlplusÌáʾ±êʶ¾Í³ÉÁËÒÔϸñʽÁË£º SYS AS SYSDBA> Õâ¾Í±íÃ÷µ±Ç°µÄµÇ¼ÕʺÅÊÇSYS£¬Éí·ÝÊÇSYSDBA¡£Çë×¢ÒâÔÚÉÏÃæÓï¾äÖÐʹÓÃÁËÁ½¸öÌØÊâµÄÔ¤¶¨ÒåµÀµÂ±äÁ¿£º_userºÍ_privilege£¬·Ö±ð¶¨ÒåÁ˵±Ç°Óû§ºÍÕâ¸öÓû§µÄµÇ¼Éí·Ý£¨È¨ÏÞ£©¡£ÏÖÔÚÎÒÃÇÔÙÔö¼ ......
1. Nested Loop Join(ǶÌ×Ñ»·Áª½á)
Ëã·¨£º
Æä˼·Ï൱µÄ¼òµ¥ºÍÖ±½Ó£º¶ÔÓÚ¹ØÏµRµÄÿ¸öÔª×é r ½«ÆäÓë¹ØÏµSµÄÿ¸öÔª×é s ÔÚJOINÌõ¼þµÄ×Ö¶ÎÉÏÖ±½Ó±È½Ï²¢É¸Ñ¡³ö·ûºÏÌõ¼þµÄÔª×顣д³Éα´úÂë¾ÍÊÇ£º
´ú¼Û£º
±»Áª½áµÄ±íËù´¦ÄÚ²ã»òÍâ²ãµÄ˳Ðò¶Ô´ÅÅÌI/O¿ªÏúÓÐ×ŷdz£ÖØÒªµÄÓ°Ïì¡£¶øCPU¿ªÏúÏà¶ÔÀ´ËµÓ°Ïì½ÏС£¬Ö÷ÒªÊÇÔª×é¶ÁÈ ......