MSSQL ÓαêʹÓÃ
×ªÔØ http://www.jb51.net/article/17875.htm
MS-SQLÓαêµÄʹÓü°Àí½â windows»òDOSµÄ“¹â±ê”²»Í¬£¬MS-SQLµÄÓαêÊÇÒ»ÖÖÁÙʱµÄÊý¾Ý¿â¶ÔÏ󣬼ȶԿÉÓÃÀ´Ðýת´¢´æÔÚϵͳÓÀ¾Ã±íÖеÄÊý¾ÝÐеĸ±±¾£¬Ò²¿ÉÒÔÖ¸Ïò´¢´æÔÚϵͳÓÀ¾Ã±íÖеÄÊý¾ÝÐÐ
ÓαêΪÄúÌṩÁËÔÚÖðÐеĻù´¡É϶ø²»ÊÇÒ»´Î´¦ÀíÕû¸ö½á¹û¼¯Îª»ù´¡µÄ²Ù×÷±íÖÐÊý¾ÝµÄ·½·¨¡£
1£®ÈçºÎʹÓÃÓαê
1£©¶¨ÒåÓαêÓï¾ä Declare <ÓαêÃû> Cursor For
2£©´´½¨ÓαêÓï¾ä Open <ÓαêÃû>
3£©ÌáÈ¡ÓαêÁÐÖµ¡¢Òƶ¯¼Ç¼ָÕë Fetch <ÁÐÃûÁбí> from <ÓαêÃû> [Into <±äÁ¿Áбí>]
4£©Ê¹ÓÃ@@Fetch_StatusÀûÓÃWhileÑ»·´¦ÀíÓαêÖеÄÐÐ
5£©É¾³ýÓα겢ÊÍ·ÅÓï¾ä Close <ÓαêÃû>/Deallocate <ÓαêÃû>
6£©ÓαêÓ¦ÓÃʵÀý
--¶¨ÒåÓαê
Declare cur_Depart Cursor
For Select cDeptID,cDeptName from Department into @DeptID,@DeptName
--´´½¨Óαê
Open cur_Depart
--ÒÆ¶¯»òÌáÈ¡ÁÐÖµ
Fetch from cur_Depart into @DeptID,@DeptName
--ÀûÓÃÑ»·´¦ÀíÓαêÖеÄÁÐÖµ
While @@Fetch_Status=0
Begin
Print @DeptID,@DeptName
Fetch from cur_Depart into @DeptID,@DeptName
End
--¹Ø±Õ/ÊÍ·ÅÓαê
Close cur_Depart
Deallocate cur_Depart
2£®Óï¾äµÄÏêϸ¼°×¢Òâ
1£©¶¨ÒåÓαêÓï¾ä
Declare <ÓαêÃû> [Insensitive] [Scroll] Cursor
For <Select Óï¾ä> [FOR {Read Only | Update [ OF <ÁÐÃûÁбí>]}]
Insensitive DBMS´´½¨²éѯ½á¹û¼¯Êý¾ÝµÄÁÙʱ¸±±¾£¨¶ø²»ÊÇʹÓÃÖ±½ÓÒýÓÃÊý¾Ý¿â±íÖеÄÕæÊµÊý¾ÝÐÐÖеÄÁУ©¡£ÓαêÊÇRead Only£¬Ò²¾ÍÊÇ˵²»ÄÜÐÞ¸ÄÆäÄÚÈÝ»òµ×²ã±íµÄÄÚÈÝ£»
Scroll Ö¸¶¨ÓαêÖ§³Öͨ¹ýʹÓÃÈÎÒâFetch Ñ¡ÏFirst Last Prior Next Relative Absolute£©Ñ¡È¡ËüµÄÈÎÒâÐÐ×÷Ϊµ±Ç°ÐС£Èç¹û´ËÏîÊ¡ÂÔ£¬ÔòÓα꽫ֻ֧³ÖÏòÏÂÒÆ¶¯µ¥ÐУ¨¼´Ö»Ö§³ÖÓαêµÄFetch Next£©£»
SelectÓï¾ä ¶¨ÒåÓαê½á¹û¼¯µÄ±ê×¼ SELECT Óï¾ä¡£ÔÚÓαêÉùÃ÷µÄ <SelectÓï¾ä>ÄÚ²»ÔÊÐíʹÓùؼü×Ö COMPUTE¡¢COMPUTE BY¡¢FOR BROWSE ºÍ INTO£»
Read Only ·ÀֹʹÓÃÓαêµÄÓû§Í¨¹ý¸üÐÂÊý¾Ý»òɾ³ýÐиıäÓαêµÄÄÚÈÝ£»
Update ´´½¨¿É¸üÐÂÓαêÇÒÁгöÖµÄܱ»¸üеÄÓαêÁС£Èç¹û×Ó¾äÖÐÁÐÈëÁËÈÎÒâÁУ¬ÔòÖ»Óб»ÁÐÈëµÄÁвÅÄܱ»¸üС£Èç¹ûDeclare CursorÓï¾äÖÐÖ»Ö¸¶¨µÄUPDATE£¨Ã»ÓÐÁÐÃûÁÐ±í£©£¬ÔòÓα꽫ÔÊÐí¸üÐÂËüµÄÈκλòË
Ïà¹ØÎĵµ£º
µ±Êý¾Ý·þÎñÆ÷ºÍWeb·þÎñÆ÷²¿ÊðÔÚ²»Í¬µÄ·þÎñÆ÷ÉÏʱ£¬»áÓõ½·Ö²¼Ê½ÊÂÎñ£¬ÐèÒª¶ÔÁ½¸ö·þÎñÆ÷µÄMSDTC½øÐÐÅäÖá£
´ò¿ª“¹ÜÀí¹¤¾ß¨D¨D×é¼þ·þÎñ”£¬ÒÔ´Ë´ò¿ª“×é¼þ·þÎñ¨D¨D¼ÆËã»ú”£¬ÔÚ“ÎҵĵçÄÔ”Éϵã»÷ÓÒ¼ü¡£ÔÚMSDTCÑ¡ÏÖУ¬µã»÷“°²È«ÅäÖÔ°´Å¥¡£ ......
SQL Server ÌṩϵͳÊý¾ÝÀàÐͼ¯£¬¶¨ÒåÁË¿ÉÓë SQL Server Ò»ÆðʹÓõÄËùÓÐÊý¾ÝÀàÐÍ¡£ÏÂÃæÁгöϵͳÌṩµÄÊý¾ÝÀàÐͼ¯¡£
¿ÉÒÔ¶¨ÒåÓû§¶¨ÒåµÄÊý¾ÝÀàÐÍ£¬ÆäÊÇϵͳÌṩµÄÊý¾ÝÀàÐ͵ıðÃû¡£ÓйØÓû§¶¨ÒåµÄÊý¾ÝÀàÐ͵ĸü¶àÐÅÏ¢£¬Çë²Î¼û sp_addtype ºÍ´´½¨Óû§¶¨ÒåµÄÊý¾ÝÀàÐÍ¡£
µ±Á½¸ö¾ßÓв»Í¬Êý¾ÝÀàÐÍ¡¢ÅÅÐò¹æÔò¡¢¾«¶È¡¢Ð¡ÊýλÊý»ò³ ......
Ëø»úÖÆ
NOLOCKºÍREADPASTµÄÇø±ð¡£
1. ¿ªÆôÒ»¸öÊÂÎñÖ´ÐвåÈëÊý¾ÝµÄ²Ù×÷¡£
BEGIN TRAN t
INSERT INTO Customer
SELECT 'a','a'
2. Ö´ÐÐÒ»Ìõ²éѯÓï¾ä¡£
SELECT * from Customer WITH (NOLOCK)
½á¹ûÖÐÏÔʾ"a"ºÍ"a"¡£µ±1ÖÐÊÂÎñ»Ø¹öºó£¬ÄÇôa½«³ÉΪÔàÊý¾Ý¡£(×¢:1ÖеÄÊÂÎñδÌá½») ¡£NOLOCK±íÃ÷ûÓжÔÊý¾Ý±íÌí¼Ó¹²Ï ......
²éѯÓï¾äÖ»ÒªÕâÑùд,¾Í¿ÉÒÔËæ»úÈ¡³ö¼Ç¼ÁË
SQL="Select top 6 * from Dv_bbs1 where isbest = 1 and layer = 1 order by newID() desc"
ÔÚACCESSÀï
SELECT top 15 id from tablename order by rnd(id)
SQL Server£º
Select TOP N * from TABLE Order By NewID()
Access£º
Select TOP N * from TABLE Order By Rnd(ID ......
--´Ë´úÂëʵÏÖSQLÊý¾Ý¿âÔ¶³Ì±¸·Ý£¬·Åµ½×÷ÒµÀïÃæÖ´ÐпÉÒÔ×Ô¶¯±¸·ÝÊý¾Ý¿â¡¢×Ô¶¯É¾³ý@keepNDaysÌìǰ±¸·Ý¡£
--´Ë´úÂ뽫±¾µØËùÓеÄÓû§Êý¾Ý¿â±¸·Ýµ½¹²ÏíĿ¼¡°\\backupServerIp\ShareName\Êý¾Ý¿â±¸·Ý¡±Ï¡£
--²¢É¾³ýÌìǰµÄ±¸·ÝÎļþ¡£Òª±¸·Ý³É¹¦±ØÐëÄܹ»¶Ô¹²ÏíĿ¼ÓвÙ×÷ȨÏÞ£¡
sp_configure 'xp_cmdshell',1 ......