Áù¸ö½¨Òé·ÀÖ¹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 Öиù¾Ýº ......
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Äã¶¼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâÆªÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£Õ ......
SQL Server 2005ÖеĴ洢¹ý³Ì²¢·¢ÎÊÌâ
ÎÒÔÚSQL Server2005ÖÐÓöµ½Á˲¢·¢ÎÊÌâ¡£ÎÒ³ÖÓгµÆ±µÄ¹«¹²Æû³µÉÏÓÐһЩ¿ÕÏеÄ×ùλ¡£ÎÒÔÚ²åÈëÏúÊÛµÄ²éÆ±Ö®Ç°£¬ÐèÒª²é¿´ÊÇ·ñ»¹ÓпÕÏеÄ×ùλ¡£ÎҵĴ洢¹ý³Ì×öµÄÊÂÇéÈçÏÂËùʾ£º
create PROCEDURE add_ticket — parameters DECLARE free_seats int BEGIN TRANSACTION select free_se ......
--ÐÐÁÐת»» ÐÐתÁÐ
DROP TABLE t_change_lc;
CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER);
INSERT INTO t_change_lc
SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4
UNION
SELECT '002' card_code, ROWNUM q, trunc(d ......
5.2 Clustered Indexes(¾Û¼¯Ë÷Òý) (page 122)
¾Û¼¯Ë÷Òý決¶¨ÁËÒ»個±í數據µÄÎïÀíÅÅÁÐ順Ðò£¬ËùÒÔ£¬Ò»個±í隻ÄÜÓÐÒ»個¾Û¼¯Ë÷Òý¡£圖5.1±íʾÁËÒ»個¾Û¼¯Ë÷ÒýµÄ結構¡£
Figure 5.1
The structure of a clustered index
Ò»個¾Û¼¯Ë÷ÒýµÄ×îµ×& ......