Áù¸ö½¨Òé·ÀÖ¹SQL×¢Èëʽ¹¥»÷
SQL×¢Èë¹¥»÷µÄΣº¦ÐԺܴó¡£ÔÚ½²½âÆä·ÀÖ¹°ì·¨Ö®Ç°£¬Êý¾Ý¿â¹ÜÀíÔ±ÓбØÒªÏÈÁ˽âÒ»ÏÂÆä¹¥»÷µÄÔÀí¡£ÕâÓÐÀûÓÚ¹ÜÀíÔ±²ÉÈ¡ÓÐÕë¶ÔÐԵķÀÖδëÊ©¡£
¡¡¡¡Ò»¡¢ SQL×¢Èë¹¥»÷µÄ¼òµ¥Ê¾Àý¡£
¡¡¡¡statement := "SELECT * from Users WHERE Value= " + a_variable + "
¡¡¡¡ÉÏÃæÕâÌõÓï¾äÊÇºÜÆÕͨµÄÒ»ÌõSQLÓï¾ä£¬ËûÖ÷ҪʵÏֵŦÄܾÍÊÇÈÃÓû§ÊäÈëÒ»¸öÔ±¹¤±àºÅÈ»ºó²éѯ´¦Õâ¸öÔ±¹¤µÄÐÅÏ¢¡£µ«ÊÇÈôÕâÌõÓï¾ä±»²»·¨¹¥»÷Õ߸Ä×°¹ýºó£¬¾Í¿ÉÄܳÉÎªÆÆ»µÊý¾ÝµÄºÚÊÖ¡£Èç¹¥»÷ÕßÔÚÊäÈë±äÁ¿µÄʱºò£¬ÊäÈëÒÔÏÂÄÚÈÝSA001’;drop table c_order--¡£ÄÇôÒÔÉÏÕâÌõSQLÓï¾äÔÚÖ´ÐеÄʱºò¾Í±äΪÁËSELECT * from Users WHERE Value= ‘SA001’;drop table c_order--¡£
¡¡¡¡ÕâÌõÓï¾äÊÇʲôÒâË¼ÄØ?‘SA001’ºóÃæµÄ·ÖºÅ±íʾһ¸ö²éѯµÄ½áÊøºÍÁíÒ»ÌõÓï¾äµÄ¿ªÊ¼¡£c_orderºóÃæµÄË«Á¬×Ö·û ָʾµ±Ç°ÐÐÓàϵIJ¿·ÖÖ»ÊÇÒ»¸ö×¢ÊÍ£¬Ó¦¸ÃºöÂÔ¡£Èç¹ûÐ޸ĺóµÄ´úÂëÓï·¨ÕýÈ·£¬Ôò·þÎñÆ÷½«Ö´ÐиôúÂ롣ϵͳÔÚ´¦ÀíÕâÌõÓï¾äʱ£¬½«Ê×ÏÈÖ´ÐвéѯÓï¾ä£¬²éµ½Óû§±àºÅΪSA001 µÄÓû§ÐÅÏ¢¡£È»ºó£¬Êý¾Ý½«É¾³ý±íC_ORDER(Èç¹ûûÓÐÆäËûÖ÷¼üµÈÏà¹ØÔ¼Êø£¬Ôòɾ³ý²Ù×÷¾Í»á³É¹¦)¡£Ö»Òª×¢ÈëµÄSQL´úÂëÓï·¨ÕýÈ·£¬±ãÎÞ·¨²ÉÓñà³Ì·½Ê½À´¼ì²â´Û¸Ä¡£Òò´Ë£¬±ØÐëÑéÖ¤ËùÓÐÓû§ÊäÈ룬²¢×Ðϸ¼ì²éÔÚÄúËùÓõķþÎñÆ÷ÖÐÖ´Ðй¹Ôì SQLÃüÁîµÄ´úÂë¡£
¡¡¡¡¶þ¡¢ SQL×¢Èë¹¥»÷ÔÀí¡£
¡¡¡¡¿É¼ûSQL×¢Èë¹¥»÷µÄΣº¦ÐԺܴó¡£ÔÚ½²½âÆä·ÀÖ¹°ì·¨Ö®Ç°£¬Êý¾Ý¿â¹ÜÀíÔ±ÓбØÒªÏÈÁ˽âÒ»ÏÂÆä¹¥»÷µÄÔÀí¡£ÕâÓÐÀûÓÚ¹ÜÀíÔ±²ÉÈ¡ÓÐÕë¶ÔÐԵķÀÖδëÊ©¡£
¡¡¡¡SQL×¢ÈëÊÇĿǰ±È½Ï³£¼ûµÄÕë¶ÔÊý¾Ý¿âµÄÒ»ÖÖ¹¥»÷·½Ê½¡£ÔÚÕâÖÖ¹¥»÷·½Ê½ÖУ¬¹¥»÷Õ߻ὫһЩ¶ñÒâ´úÂë²åÈëµ½×Ö·û´®ÖС£È»ºó»áͨ¹ý¸÷ÖÖÊֶν«¸Ã×Ö·û´®´«µÝµ½SQLServerÊý¾Ý¿âµÄʵÀýÖнøÐзÖÎöºÍÖ´ÐС£Ö»ÒªÕâ¸ö¶ñÒâ´úÂë·ûºÏSQLÓï¾äµÄ¹æÔò£¬ÔòÔÚ´úÂë±àÒëÓëÖ´ÐеÄʱºò£¬¾Í²»»á±»ÏµÍ³Ëù·¢ÏÖ¡£
¡¡¡¡SQL×¢Èëʽ¹¥»÷µÄÖ÷ÒªÐÎʽÓÐÁ½ÖÖ¡£Ò»ÊÇÖ±½Ó½«´úÂë²åÈëµ½ÓëSQLÃüÁî´®ÁªÔÚÒ»Æð²¢Ê¹µÃÆäÒÔÖ´ÐеÄÓû§ÊäÈë±äÁ¿¡£ÉÏÃæ±ÊÕß¾ÙµÄÀý×Ó¾ÍÊDzÉÓÃÁËÕâÖÖ·½·¨¡£ÓÉÓÚÆäÖ±½ÓÓëSQLÓï¾äÀ¦°ó£¬¹ÊÒ²±»³ÆÎªÖ±½Ó×¢Èëʽ¹¥»÷·¨¡£¶þÊÇÒ»ÖÖ¼ä½ÓµÄ¹¥»÷·½·¨£¬Ëü½«¶ñÒâ´úÂë×¢ÈëÒªÔÚ±íÖд洢»òÕß×÷ΪÔÊé¾Ý´æ´¢µÄ×Ö·û´®¡£ÔÚ´æ´¢µÄ×Ö·û´®ÖлáÁ¬½Óµ½Ò»¸ö¶¯Ì¬µÄSQLÃüÁîÖУ¬ÒÔÖ´ÐÐһЩ¶ñÒâµÄSQL´úÂë¡£
¡¡¡¡×¢Èë¹ý³ÌµÄ¹¤×÷·½Ê½ÊÇÌáǰÖÕÖ¹Îı¾×Ö·û´®£¬È»ºó×·¼ÓÒ»¸öеÄÃüÁî¡£ÈçÒÔÖ±½Ó×¢Èëʽ¹¥»÷ΪÀý¡£¾ÍÊÇÔÚÓû§ÊäÈë±äÁ¿µÄʱºò£¬ÏÈÓÃÒ»¸ö·ÖºÅ½áÊø
Ïà¹ØÎĵµ£º
Óû§×Ô¶¨Ò庯Êý£¨User Defined Functions£©ÊÇSQL Server µÄÊý¾Ý¿â¶ÔÏó£¬Ëü²»ÄÜÓÃÓÚÖ´ÐÐһϵÁиıäÊý¾Ý¿â״̬µÄ²Ù×÷£¬µ«Ëü¿ÉÒÔÏñϵͳº¯ÊýÒ»ÑùÔÚ²éѯ»ò´æ´¢¹ý³ÌµÈµÄ³ÌÐò¶ÎÖÐʹÓã¬Ò²¿ÉÒÔÏñ´æ´¢¹ý³ÌÒ»Ñùͨ¹ý EXECUTE ÃüÁîÀ´Ö´ÐС£Óû§×Ô¶¨Ò庯ÊýÖд洢ÁËÒ»¸öTransact-SQL Àý³Ì£¬¿ÉÒÔ·µ»ØÒ»¶¨µÄÖµ¡£
¡¡¡¡ÔÚSQL Server Öиù¾Ýº ......
¸ÅÄÔÚ±àд°²È«´úÂëʱ£¬×îÖØÒªµÄ¹æÔòÖ®Ò»¾ÍÊÇ“¾ø¶Ô²»ÒªÃ¤Ä¿µÄÏàÐÅÓû§µÄÊäÈ딡£
ÀûÓÃADO.NET 2.0µÄSqlConnectionStringBuilderÀàÉú³ÉÊý¾Ý¿âÁ¬½Ó×Ö·û´®£¬Ëü¿ÉÒÔÓÐЧµÄ·ÀÖ¹“SQLÁ¬½Ó×Ö·û´®¶ñÒâ×¢È딣¬ÒòΪÕâ¸öÀàÊÇרÃÅΪSQL SERVERÉè¼ÆµÄËùÒÔ£»Ëü¼æÈݾÉʽ¹Ø¼ü×Ö¡£¹ØÓÚÈçºÎʹÓÃSqlConnectionS ......
Ê×ÏȽéÉÜÒ»ÏÂʲôÊÇ´æ´¢¹ý³Ì£º´æ´¢¹ý³Ì¾ÍÊǽ«³£ÓõĻòºÜ¸´ÔӵŤ×÷£¬Ô¤ÏÈÓÃSQLÓï¾äдºÃ²¢ÓÃÒ»¸öÖ¸¶¨µÄÃû³Æ´æ´¢ÆðÀ´£¬²¢ÇÒÕâÑùµÄÓï¾äÊÇ·ÅÔÚÊý¾Ý¿âÖе쬻¹¿ÉÒÔ¸ù¾ÝÌõ¼þÖ´Ðв»Í¬SQLÓï¾ä£¬ ÄÇôÒÔºóÒª½ÐÊý¾Ý¿âÌṩÓëÒѶ¨ÒåºÃµÄ´æ´¢¹ý³ÌµÄ¹¦ÄÜÏàͬµÄ·þÎñʱ£¬Ö»Ðèµ÷ÓÃexecute,¼´¿É×Ô¶¯Íê³ÉÃüÁî¡£
¡¡¡¡Çë´ó¼ÒÀ´Á˽âÒ»ÏÂ´æ´ ......
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 ......