Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : sql

SQL Server¿ª·¢¹ý³ÌÖеÄÊ®ÖÖ³£¼ûÎÊÌâ×ܽá(2)

SQL Server 2005ÖеĴ洢¹ý³Ì²¢·¢ÎÊÌâ
ÎÒÔÚSQL Server2005ÖÐÓöµ½Á˲¢·¢ÎÊÌâ¡£ÎÒ³ÖÓгµÆ±µÄ¹«¹²Æû³µÉÏÓÐһЩ¿ÕÏеÄ×ùλ¡£ÎÒÔÚ²åÈëÏúÊÛµÄ²éÆ±Ö®Ç°£¬ÐèÒª²é¿´ÊÇ·ñ»¹ÓпÕÏеÄ×ùλ¡£ÎҵĴ洢¹ý³Ì×öµÄÊÂÇéÈçÏÂËùʾ£º
create PROCEDURE add_ticket — parameters DECLARE free_seats int BEGIN TRANSACTION select free_seats = count(*) from tickets where seat_is_not_taken IF free_seats <> 0 insert INTO tickets VALUES(…) — some other statements END TRANSACTION  
ÎÊÌâ¾ÍÊÇÁ½¸ö¹ý³Ì¿ÉÒÔͬʱ¶ÁÈ¡¿ÕÏÐÆ±Êý£¬²¢ÇÒ¶¼¿ÉÒÔÔ¤Ô¼Ò»ÕÅÆ±£¬¼´Ê¹ÊÇÄÇÀïÒѾ­Ã»ÓпÕÓàµÄÁË¡£ÎÒÐèÒªÒ»ÖÖ·½·¨À´·ÀÖ¹Ò»¸ö¹ý³ÌÔÚÁíÒ»¸ö¹ý³ÌÔËÐÐadd_ticket³ÌÐò£¬µ«ÊÇ»¹Ã»ÓвåÈëÒ»ÕÅÐÂÆ±µÄʱºò¶ÁÈ¡¿ÕƱµÄÊýÁ¿¡£
»Ø´ð£º
ÄãÊÇÕýÈ·µÄ;¸ü¸ßµÄ¸ôÀë¼¶±ðÒ²²»»á±£Ö¤¶à¸ö¶ÁÕßȥͬʱȥ¶Áȡͬһ¸öÊý¾ÝÐС£È»¶ø£¬»¹Óм¸ÖÖ·½·¨Äã¿ÉÒÔÍê³ÉÕâÏ×÷¡£ÀýÈ磬Äã¿ÉÒÔ¸øÃ¿¸ö×ùλ·ÖÅäÒ»¸öΩһµÄ±êʶ·û(Òâ˼ÊÇ£¬Î©Ò»¼ü——²»Ò»¶¨ÊÇGUID)£¬²¢ÇÒ´´½¨Ò»¸öÃèÊöÄÄЩ×ùλÒѾ­±»Ô¤¶©ÁËµÄ±í¡£ÔÚ±íÉÏ·ÅÒ»¸ö UNIQUEÔ¼Êø£¬Äã¾Í¿ÉÒÔÈ·±£Í¬Ò»¸ö×ùλ²»»á±»²åÈëÁ½´ÎÁË¡£
¾ÍÊÇ˵£¬ÎÒÈÏΪһ¸ö¸ ......

SQL Server¿ª·¢¹ý³ÌÖеÄÊ®ÖÖ³£¼ûÎÊÌâ×ܽᣨ1£©

 ÔÚSQL Server¿ª·¢ÎÊÌâÖÐÄã¿ÉÄÜ»áÎʵ½µÄÊ®¸öÎÊÌâ:
1¡¢Ê²Ã´Êdz£¼ûµÄ¶Ô±íºÍ×ֶεÄÃû×ÖÔ¼Êø?
¡¡¡¡2¡¢ÓÐûÓпÉÄÜÔÚ²»Á˽âT-SQLµÄÇé¿öϱàд´æ´¢¹ý³Ì?
¡¡¡¡3¡¢T-SQLÖÐÈçºÎ±È½ÏCLR´æ´¢¹ý³ÌºÍº¯ÊýµÄÐÔÄÜ?
¡¡¡¡4¡¢ÎÒÈçºÎÔÚÒ»¸ö´æ´¢¹ý³ÌÖÐʹÓÃÁíÒ»¸ö´æ´¢¹ý³Ì²úÉúµÄ½á¹û?
¡¡¡¡5¡¢ÎÒÈçºÎ½â¾öSQL Server 2005µÄ²¢·¢ÎÊÌâ?
¡¡¡¡6¡¢ÔÚSQL Server 2005ÖÐÓÃʲô¹¤¾ßÌæ´úÁ˲éѯ·ÖÎöÆ÷?
¡¡¡¡7¡¢ÄãÄÜÌṩһЩÓйØSQL ºÍT-SQLµÄÏêϸÐÅÏ¢Âð?
¡¡¡¡8¡¢SQL Server 2005ÓÐûÓÐеÄË÷ÒýÀàÐÍ?
¡¡¡¡9¡¢ÎÒÈçºÎ´´½¨Ò»¸ö½Å±¾ÔÚ±íÖнøÐÐÑ¡Ôñ?
¡¡¡¡10¡¢ÎÒÈçºÎÁгöÄÇЩûÓмǼµÄÊý¾Ý¿â±í?
¶ÔÓÚ±íºÍ×ֶεij£¼ûÃû×ÖÔ¼Êø
»Ø´ð:
»Ø´ð:
SQL Server 2000ϵıíºÍ×Ö¶ÎÃû³ÆÓÐ1µ½128×Ö½ÚµÄÏÞÖÆ£¬²¢ÇÒ×ñÑ­ÓÃÓÚ±êʶµÄ¹æÔò¡£
µÚÒ»¸ö×Öĸ±ØÐëÊÇÈçϵÄÒ»ÖÖ:
· Unicode Standard 2.0Öй涨µÄ×Öĸ¡£
Unicode¶Ô×ÖĸµÄ¶¨Òå°üÀ¨:À­¶¡×Öĸ£¬´ÓAµ½Z£¬³ýÁËÀ´×ÔÆäËûÓïÑÔµÄ×Öĸ֮Íâ¡£
· Ï»®Ïß(_)£¬at·ûºÅ(@)£¬»òÕßÊý×Ö·ûºÅ(#)
ÔÚSQL ServerÖÐÒÔÕâЩ·ûºÅ×÷Ϊ±êʶ·ûµÄ¿ªÊ¼¾ßÓÐÌØÊâµÄº¬Òå¡£Ò»¸öÒÔat·ûºÅ(@)¿ªÍ·µÄ±êʶ·û±íʾһ¸ö±¾µØµÄ±äÁ¿»òÕß²ÎÊý¡£Ò»¸öÒÔÊý×Ö·ûºÅ(#)¿ªÍ·µÄ±êʶ· ......

SQL×¢ÈëרÌâ

 £Ó£Ñ£Ì×¢ÈëÊÇ´ÓÕý³£µÄWWW¶Ë¿Ú·ÃÎÊ£¬¶øÇÒ±íÃæ¿´ÆðÀ´¸úÒ»°ãµÄWebÒ³Ãæ·ÃÎÊÃ»Ê²Ã´Çø±ð£¬ ËùÒÔĿǰÊÐÃæµÄ·À»ðǽ¶¼²»»á¶Ô£Ó£Ñ£Ì×¢Èë·¢³ö¾¯±¨£¬Èç¹û¹ÜÀíԱû²é¿´IISÈÕÖ¾µÄϰ¹ß£¬¿ÉÄܱ»ÈëÇֺܳ¤Ê±¼ä¶¼²»»á·¢¾õ¡£
    Ëæ×ÅB/SģʽӦÓÿª·¢µÄ·¢Õ¹£¬Ê¹ÓÃÕâÖÖģʽ±àдӦÓóÌÐòµÄ³ÌÐòÔ±Ò²Ô½À´Ô½¶à¡£µ«ÊÇÓÉÓÚÕâ¸öÐÐÒµµÄÈëÃÅÃż÷²»¸ß£¬³ÌÐòÔ±µÄˮƽ¼°¾­ÑéÒ²²Î²î²»Æë£¬Ï൱´óÒ»²¿·Ö³ÌÐòÔ±ÔÚ±àд´úÂëµÄʱºò£¬Ã»ÓжÔÓû§ÊäÈëÊý¾ÝµÄºÏ·¨ÐÔ½øÐÐÅжϣ¬Ê¹Ó¦ÓóÌÐò´æÔÚ°²È«Òþ»¼¡£Óû§¿ÉÒÔÌá½»Ò»¶ÎÊý¾Ý¿â²éѯ´úÂ룬¸ù¾Ý³ÌÐò·µ»ØµÄ½á¹û£¬»ñµÃijЩËûÏëµÃÖªµÄÊý¾Ý£¬Õâ¾ÍÊÇËùνµÄSQL Injection£¬¼´SQL×¢Èë¡£
    SQL×¢ÈëÊÇ´ÓÕý³£µÄWWW¶Ë¿Ú·ÃÎÊ£¬¶øÇÒ±íÃæ¿´ÆðÀ´¸úÒ»°ãµÄWebÒ³Ãæ·ÃÎÊÃ»Ê²Ã´Çø±ð£¬ËùÒÔĿǰÊÐÃæµÄ·À»ðǽ¶¼²»»á¶ÔSQL×¢Èë·¢³ö¾¯±¨£¬Èç¹û¹ÜÀíԱû²é¿´IISÈÕÖ¾µÄϰ¹ß£¬¿ÉÄܱ»ÈëÇֺܳ¤Ê±¼ä¶¼²»»á·¢¾õ¡£
  µ«ÊÇ£¬SQL×¢ÈëµÄÊÖ·¨Ï൱Áé»î£¬ÔÚ×¢ÈëµÄʱºò»áÅöµ½ºÜ¶àÒâÍâµÄÇé¿ö¡£Äܲ»Äܸù¾Ý¾ßÌåÇé¿ö½øÐзÖÎö£¬¹¹ÔìÇÉÃîµÄSQLÓï¾ä£¬´Ó¶ø³É¹¦»ñÈ¡ÏëÒªµÄÊý¾Ý£¬ÊǸßÊÖÓ듲ËÄñ”µÄ¸ù±¾Çø±ð¡£
SQL×¢Èë©¶´È«½Ó´¥--ÈëÃÅÆª   
  SQL×¢ÈëÊÇ´ÓÕý³£ ......

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'
   ......

½ÌÄãÍæ×ªSQL Server´æ´¢¹ý³Ì

 Ê×ÏȽéÉÜÒ»ÏÂʲôÊÇ´æ´¢¹ý³Ì£º´æ´¢¹ý³Ì¾ÍÊǽ«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´£¬²¢ÇÒÕâÑùµÄÓï¾äÊÇ·ÅÔÚÊý¾Ý¿âÖе쬻¹¿ÉÒÔ¸ù¾ÝÌõ¼þÖ´Ðв»Í¬SQLÓï¾ä£¬ ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ£¬Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî¡£
¡¡¡¡Çë´ó¼ÒÀ´Á˽âһϴ洢¹ý³ÌµÄÓï·¨¡£
¡¡¡¡create PROC [ EDURE ] procedure_name [ ; number ]
    [ { @parameter data_type }
        [ VARYING ] [ = default ] [ OUTPUT ]
    ] [ ,...n ]
¡¡¡¡[ WITH
    { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
¡¡¡¡[ FOR REPLICATION ]
¡¡¡¡AS sql_statement [ ...n ]
¡¡¡¡²ÎÊý£º
¡¡¡¡procedure_name
¡¡¡¡Ð´洢¹ý³ÌµÄÃû³Æ¡£¹ý³ÌÃû±ØÐë·ûºÏ±êʶ·û¹æÔò£¬ÇÒ¶ÔÓÚÊý¾Ý¿â¼°ÆäËùÓÐÕß±ØÐëΨһ¡£
¡¡¡¡Òª´´½¨¾Ö²¿ÁÙʱ¹ý³Ì£¬¿ÉÒÔÔÚ procedure_name Ç°Ãæ¼ÓÒ»¸ö±àºÅ·û (#procedure_name)£¬Òª´´½¨È«¾ÖÁÙʱ¹ý³Ì£¬¿ÉÒÔÔÚ procedure_name Ç°Ãæ¼ÓÁ½¸ö±àºÅ·û (##procedure_name)¡£ÍêÕûµÄÃû³Æ£¨°üÀ¨ # »ò ##£©²»Äܳ¬¹ý 128 ¸ö×Ö·û¡£Ö¸¶¨¹ý ......

ÓÃÒ»¾äSQLÈ¡³öµÚ m Ìõµ½µÚ n Ìõ¼Ç¼µÄ·½·¨

 1 --´ÓTable ±íÖÐÈ¡³öµÚ m Ìõµ½µÚ n ÌõµÄ¼Ç¼£º(Not In °æ±¾)
 2
 3 SELECT TOP n-m+1 *
 4 from Table
 5 WHERE (id NOT IN (SELECT TOP m-1 id from Table )) 
 6
 7
 8 --´ÓTABLE±íÖÐÈ¡³öµÚmµ½nÌõ¼Ç¼ (Exists°æ±¾)
 9
10 SELECT TOP n-m+1 * from TABLE AS a WHERE Not Exists
11 (Select * from (Select Top m-1 * from TABLE order by id) b Where b.id=a.id )
12 Order by id
13
14
15 --mΪÉϱ꣬nΪϱê,ÀýÈçÈ¡³öµÚ8µ½12Ìõ¼Ç¼,m=8,n=12,TableΪ±íÃû
16
17 Select Top n-m+1 * from Table
18 Where Id>(Select Max(Id) from
19 (Select Top m-1 Id from Table Order By Id Asc) Temp)
20 Order By Id Asc  ......
×ܼǼÊý:4346; ×ÜÒ³Êý:725; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [597] [598] [599] [600] 601 [602] [603] [604] [605] [606]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ