Êý¾Ý¿âÔ­ÀíÓëÓ¦ÓÿγÌʵÑéÖ¸µ¼Ê飨¸½´ð°¸£©(2) ÏÂÔØ±¾ÎÄ

¡¶Êý¾Ý¿âÔ­ÀíÓëÓ¦Óá·

¿Î³ÌʵÑéÖ¸µ¼Êé

ËÕÖݹ¤ÒµÖ°Òµ¼¼ÊõѧԺÐÅÏ¢¹¤³Ìϵ

2008£®1

Ŀ¼

Ŀ¼¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¢ñ ǰÑÔ¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÒ» ³õʶSQL Server 2000¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑé¶þ Êý¾Ý¿âµÄ´´½¨ºÍ¹ÜÀí¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÈý ±íµÄ´´½¨¡¢¹ÜÀí¼°Êý¾Ý²Ù×÷¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéËÄ µ¥±í²éѯ¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÎå Á¬½Ó²éѯ¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÁù ǶÌײéѯ¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÆß ÊÓͼµÄ´´½¨ºÍ¹ÜÀí¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑé°Ë ÓαêµÄʹÓá­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑé¾Å T-SQLÓïÑÔ±à³Ì»ù´¡¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ® º¯Êý¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéʮһ Ë÷Òý¡¢Ä¬ÈÏÖµÔ¼ÊøºÍĬÈÏÖµ¶ÔÏó¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ®¶þ Êý¾ÝÍêÕûÐÔµÄʵÏÖ¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ®Èý ´æ´¢¹ý³Ì¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ®ËÄ ´¥·¢Æ÷¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ®Îå ϵͳ°²È«¹ÜÀí¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ®Áù Êý¾Ý±¸·Ý¡¢»Ö¸´ºÍµ¼Èëµ¼³ö¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­ ʵÑéÊ®Æß ×ÛºÏѵÁ·¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

ǰÑÔ

Êý¾Ý¿â¼¼ÊõÊǼÆËã»úѧ¿ÆÖеÄÒ»¸öÖØÒª·ÖÖ§£¬·¢Õ¹Ñ¸ËÙ¡¢Ó¦Ó÷dz£¹ã·º£¬¼¸ºõÉæ¼°ÁËËùÓÐÓ¦ÓÃÁìÓò¡£ÀýÈ磬°ì¹«ÏµÍ³¡¢Éú²ú¹ÜÀí¡¢²ÆÎñ¹ÜÀí¡¢ÈËʹÜÀí¡¢¹¤Òµ¹ÜÀíµÈ£¬¶¼¹ã·ºÓ¦ÓÃÁËÊý¾Ý¿â¼¼Êõ¡£

±¾ÊµÑéÖ¸µ¼ÊéÊÇ¡¶Êý¾Ý¿âÔ­ÀíÓëÓ¦Ó᷿γ̵ÄÅäÌ×ʵÑé×ÊÁÏ¡£Í¨¹ý°²ÅÅʵÑé¼°²¼ÖõÄÈÎÎñ£¬ÈÃѧÉúÊìÁ·ÕÆÎÕʹÓùØÏµÊý¾Ý¿â¹ÜÀíϵͳSQL Server 2000½øÐÐÊý¾Ý¿â¼°±íµÄ´´½¨ºÍ¹ÜÀí¡¢²éѯ¡¢Transact¡ªSQL³ÌÐòÉè¼Æ¡¢¸÷ÀàÔ¼ÊøµÄ´´½¨¼°Ê¹Óá¢ÊÓͼ¼°Ë÷ÒýµÄ´´½¨Óë¹ÜÀí¡¢SQL Server µÄ´æ´¢¹ý³ÌµÄ´´½¨ºÍ¹ÜÀí¡¢SQL Server µÄ´¥·¢Æ÷´´½¨ºÍ¹ÜÀí¡¢SQL ServerµÄ°²È«ÐÔ¹ÜÀí¡¢Êý¾Ý¿âµÄ±¸·Ý¼°»Ö¸´¡£²¢Äܸù¾Ýʵ¼ÊÓ¦ÓÃÐèÇó½øÐÐÊý¾Ý¿âÉè¼ÆºÍʵÏÖ£¬Ìá¸ßѧÉúµÄʵ¼Ê¶¯ÊÖÄÜÁ¦£¬ÎªÆä½ñºóÔÚÏà¹ØÁìÓòѧϰºÍ¹¤×÷´òϽϺõĻù´¡¡£

ʵÑéÒ» ³õʶSQL Server 2000

Ò»£®ÊµÑéÄ¿µÄÓëÒªÇó

1¡¢ÊìϤʵÑé»ú·¿¶ÔSQL Server 2000ʵÑé»·¾³µÄÉèÖá¢Ñ§»á¶ÀÁ¢Ê¹ÓøÃϵͳ£» 2¡¢ÊìϤSQL Server 2000ÖÐÆóÒµ¹ÜÀíÆ÷ºÍ²éѯ·ÖÎöÆ÷Á½¸ö³£ÓùÜÀí¹¤¾ß£»

¶þ£®ÊµÑéÄÚÈÝ

?

Á·Ï°Æô¶¯¡¢Í£Ö¹ºÍÔÝÍ£·þÎñ¹Ü×é¼þµÄ·þÎñ£¬Á˽âSQL Server2000ÖаüÀ¨µÄ·þÎñÆ÷×é¼þ£¬ÕÆÎÕ·þÎñ¹ÜÀíÆ÷ºÍʹÓá£

Á·Ï°Microsoft SQL Server Enterprise ManagerµÄʹÓᣠÁ·Ï°Microsoft SQL ²éѯ·ÖÎöÆ÷µÄʹÓá£

? ?

Èý£®ÊµÑé²½Öè

1¡¢Á·Ï°Æô¶¯¡¢Í£Ö¹ºÍÔÝÍ£·þÎñ¹Ü×é¼þµÄ·þÎñ£¬Á˽âSQL Server2000ÖаüÀ¨µÄ·þÎñÆ÷×é¼þ£¬ÕÆÎÕ·þÎñ¹ÜÀíÆ÷ºÍʹÓᣠ1) Æô¶¯SQL Server·þÎñ

2) Í£Ö¹SQL Server·þÎñ

2¡¢Á·Ï°Microsoft SQL Server / Enterprise Manager ´ò¿ªMicrosoft SQL Server / Enterprise Manager 1£© ¹Û²ìSQL Server ×éÏÂÒѾ­½¨Á¢µÄ·þÎñÆ÷×é 2£© ´ò¿ªÆäÖеÄÒ»¸ö·þÎñÆ÷£¬¹Û²ìÆäÖеÄÎļþ¼Ð 3£© ´ò¿ª¡°Êý¾Ý¿â¡±Îļþ¼Ð£¬¹Û²ìÒѾ­½¨Á¢µÄÊý¾Ý¿â 4£© ´ò¿ªÆäÖеÄijһ¸öÊý¾Ý¿â£¬¹Û²ìÆäÖеÄÄÚÈÝ

5£© ´ò¿ª¡°°²È«ÐÔ¡±Îļþ¼Ð£¬½øÈë¡°µÇ¼¡±£¬¹Û²ì¿ÉÒԵǼ¸Ã·þÎñÆ÷µÄÓÃ

»§¼°ÆäÊôÐÔ¡£ 3¡¢Á·Ï°Microsoft SQL ²éѯ·ÖÎöÆ÷

´ò¿ªMicrosoft SQL²éѯ·ÖÎöÆ÷£¬ÔÚ´°¿ÚÖÐÊäÈëSELECT * FROM Products²¢µ¥»÷£¨»ò°´F5£©Ö´Ðвéѯ£¬ÈÏʶ²éѯ·ÖÎöÆ÷µÄÃüÁî²Ù×÷·½Ê½

ËÄ£®·ÖÎöÓë»Ø´ð

1£®SQL Server 2000Öаüº¬ÄÄЩ×é¼þ£¬Æä¹¦Äܸ÷ÊÇʲô£¿

2£®»­³öSQL Server Enterprise Manager¿ØÖÆÌ¨Ä¿Â¼½á¹¹£¿ ´ð£º

3£®DBMSµÄ×÷ÓÃÊÇʲô£¿SQL Server 2000µÄÌåϵ½á¹¹ÊÇÔõÑùµÄ£¿

4£®SQL Server 2000ÖÐÁª»ú½»»¥·½Ê½ÓÐÄÄÁ½ÖÖ£¬·Ö±ðÊÇͨ¹ýʲô¹ÜÀí¹¤¾ßÀ´ÌåÏÖ£¿ ´ð£º

ʵÑé¶þ Êý¾Ý¿â´´½¨Óë¹ÜÀí

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ÊìÁ·ÕÆÎÕSQL Server Enterprise Manager ´´½¨ºÍ¹ÜÀíÊý¾Ý¿â£» ? ÊìÁ·ÕÆÎÕʹÓÃSQLÓï¾ä´´½¨ºÍ¹ÜÀíÊý¾Ý¿â ? ÊìÁ·ÕÆÎÕ±¸·ÝºÍ»¹Ô­Êý¾Ý¿â

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢ÀûÓÃÆóÒµ¹ÜÀíÆ÷´´½¨ºÍ¹ÜÀíÊý¾Ý¿â (1) ´´½¨Êý¾Ý¿â

¢¡Õ¹¿ª·þÎñÆ÷×飬ȻºóÕ¹¿ª·þÎñÆ÷

¢¢ÓÒ»÷\Êý¾Ý¿â\£¬È»ºóµ¥»÷\н¨Êý¾Ý¿â\ÃüÁî

¢£¼üÈëÐÂÊý¾Ý¿âµÄÃû³Æstudent£¬Í¬Ê±ÓÃÖ¸¶¨µÄÊý¾Ý¿âÃûstudent×÷Ϊǰ׺´´½¨Ö÷Êý¾Ý¿â

ºÍÊÂÎñÈÕÖ¾Îļþ£¬ÀýÈ磺student_Data.mdf ºÍ student_Log.ldf

¢¤Òª¸ü¸Äн¨Ö÷Êý¾Ý¿âÎļþµÄĬÈÏÖµ£¬µ¥»÷\³£¹æ\Ñ¡Ï¡£ÈôÒª¸ü¸Äн¨ÊÂÎñÈÕÖ¾ÎļþµÄĬÈÏÖµ£¬µ¥»÷\ÊÂÎñÈÕÖ¾\Ñ¡Ï¡±£¬ Òª¸ü¸Ä\ÎļþÃû\¡¢\λÖÃ\¡¢\³õʼ´óС£¨MB£©\ºÍ\Îļþ×é\µÈÁеÄĬÈÏÖµ£¬µ¥»÷Òª¸ü¸ÄµÄÊʵ±µ¥Ôª¸ñ£¬ÔÙ¼üÈëÐÂÖµ¡£ÒªÖ¸¶¨ÎļþÔö³¤·½Ê½ºÍÎļþ´óС°´½çÃæÌáʾѡÔñÏàÓ¦µÄÏî¡£

(2) ɾ³ýÊý¾Ý¿â

Ñ¡ÔñstudentÊý¾Ý¿â£¬ÓÒ»÷Êó±êÑ¡Ôñ¡°É¾³ý¡±ÃüÁî¼´¿É¡£ 2¡¢ÀûÓÃÆóÒµ¹ÜÀíÆ÷±¸·ÝºÍ»¹Ô­Êý¾Ý¿â

(3) ±¸·ÝÊý¾Ý¿â

Ñ¡ÔñstudentÊý¾Ý£¬ÓÒ»÷Êó±êÑ¡Ôñ¡°ËùÓÐÈÎÎñ|±¸·ÝÊý¾Ý¿â¡±ÃüÁÔÚµ¯³ö¶Ô»°¿òÖÐÊäÈ뱸·ÝÃû³Æ£¬Ñ¡Ôñ¡°±¸·Ýµ½¡±À¸Ä¿Öеġ°Ìí¼Ó¡±ÃüÁÊäÈë¾ßÌåµÄÎļþÃûΪλÖã¬Ä¬ÈÏÇé¿ö±¸·ÝÎļþ´æ·ÅÔÚSQL ServerµÄ°²×°Ä¿Â¼ÖÐÈç¡°C:\\Program Files\\Microsoft SQL Server\\MSSQL\\BACKUP\\¡±£»µ±ÐèÒª½«±¸·ÝÎļþ´æ·Åµ½×Ô¶¨ÒåÎļþ¼ÐÖÐʱ£¬ÐÞ¸ÄÉÏÊöĬÈÏ·¾¶¡£

(3) »¹Ô­Êý¾Ý¿â

Ñ¡ÔñstudentÊý¾Ý£¬ÓÒ»÷Êó±êÑ¡Ôñ¡°ËùÓÐÈÎÎñ|»¹Ô­Êý¾Ý¿â¡±ÃüÁÔÚ¶Ô»°¿òÖлáÁгöÒѱ¸·Ý¹ýµÄÎļþ¼Ç¼£¬ÊäÈëÏàÓ¦µÄÑ¡ÏîÖµ°´È·¶¨¼´¿É¡£

3¡¢ ʹÓÃSQLÓï¾äÔÚ²éѯ·ÖÎöÆ÷ÖÐÍê³ÉÒÔϲÙ×÷

(1)´´½¨SPJÊý¾Ý¿â£º´ò¿ª²éѯ·ÖÎöÆ÷£¬ÊäÈëÒÔÏÂÓï¾ä²¢ÔËÐÐ

CREATE DATABASE SPJ

ON (NAME = 'SPJ_Data', FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\data\\SPJ_Data.MDF' , SIZE = 2, MAXSIZE = 10, FILEGROWTH = 10%) LOG ON (NAME = 'SPJ_Log', FILENAME = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL\\data\\SPJ_Log.LDF' , SIZE = 1, FILEGROWTH = 10%)

(2)ÐÞ¸ÄSPJÊý¾Ý¿â£ºÔÚ²éѯ·ÖÎöÆ÷ÖÐÊäÈëÒÔÏÂÓï¾ä²¢ÔËÐÐ(Á˽â)

ALTER DATABASE SPJ

MODIFY FILE(NAME='SPJ_Data',SIZE=3,MAXSIZE=UNLIMITED) ALTER DATABASE SPJ

ADDFILE(NAME='SPJ_Data_2',FILENAME='C:\\ProgramFiles\\MicrosoftSQLServer\\MSSQL\\Data\\SPJ_Date_2.ndf',SIZE=1, MAXSIZE=10,FILEGROWTH=10%)

(3)ɾ³ýSPJÊý¾Ý¿â£º DROP DATABASE SPJ

Èý¡¢·ÖÎöÓë»Ø´ð

1 ÔÚÆóÒµ¹ÜÀíÆ÷ÖÐʵÏÖÊý¾Ý¿âXSBOOKµÄ²Ù×÷£¬Ð´³ö²Ù×÷¹ý³Ì¡£

2 ÔÚ²éѯ·ÖÎöÆ÷ÖÐʵÏÖXSBOOK£¬Ð´³ö²Ù×÷¹ý³Ì¡£

ʵÑéÈý ±íµÄ´´½¨¡¢¹ÜÀí¼°Êý¾Ý²Ù×÷

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ¸´Ï°Ê¹ÓÃÆóÒµ¹ÜÀíÆ÷ºÍT-SQLÓï¾ä´´½¨ºÍ¹ÜÀíÊý¾Ý¿â¡£ ? ÊìÁ·ÕÆÎÕʹÓÃÆóÒµ¹ÜÀíÆ÷ºÍT-SQLÓï¾ä´´½¨¡¢Ð޸ĺÍɾ³ý±í¡£ ? ÊìÁ·ÕÆÎÕʹÓÃÆóÒµ¹ÜÀíÆ÷ºÍT-SQLÓï¾ä²åÈë¡¢Ð޸ĺÍɾ³ý±íÊý¾Ý¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢Æô¶¯ÆóÒµ¹ÜÀíÆ÷£¬´´½¨²úÆ·ÏúÊÛÊý¾Ý¿âCPXS£º

Êý¾ÝÎļþ³õʼ´óСΪ5MB£¬×î´ó´óС50MB£¬Ôö³¤·½Ê½°´10%±ÈÀýÔö³¤£»ÈÕÖ¾Îļþ³õʼΪ2MB£¬×î´ó¿ÉÔö³¤µ½10MB£¬°´2MBÔö³¤£»ÆäÓà²ÎÊýȡĬÈÏÖµ¡£

2¡¢ÓÃT-SQLÓï¾ä½«CPXSÊý¾ÝÎļþµÄÔö³¤·½Ê½¸ÄΪ°´5MBÔö³¤¡£

3¡¢CPXSÊý¾Ý¿â°üº¬ÈçÏÂÈý¸ö±í£º

CP£¨²úÆ·±àºÅ£¬²úÆ·Ãû³Æ£¬¼Û¸ñ£¬¿â´æÁ¿£©²úÆ·

XSS£¨¿Í»§±àºÅ£¬¿Í»§Ãû³Æ£¬µØÇø£¬¸ºÔðÈË£¬µç»°£©ÏúÊÛÉÌ

CPXSB£¨²úÆ·±àºÅ£¬¿Í»§±àºÅ£¬ÏúÊÛÈÕÆÚ£¬ÊýÁ¿£¬ÏúÊ۶²úÆ·ÏúÊÛ±í Èý¸ö±í½á¹¹Èçͼ3.1¡«Í¼3.3Ëùʾ£¬Çëд³ö´´½¨ÒÔÉÏÈý¸ö±íµÄT-SQLÓï¾ä²¢ÔÚ²éѯ·ÖÎöÆ÷ÖÐÔËÐС£

ͼ3.1 CP±í½á¹¹

ͼ3.2 XSS±í½á¹¹

ͼ3.3 CPXSB±í½á¹¹

4¡¢ÔÚÆóÒµ¹ÜÀíÆ÷ÖÐÊäÈëÈçͼ3.4¡«Í¼3.6µÄCP±í¡¢XSS±íºÍCPXSB±íµÄÑù±¾Êý¾Ý¡£

ͼ3.4 CP±íµÄÑù±¾Êý¾Ý

ͼ3.5 XSS±íµÄÑù±¾Êý¾Ý

ͼ3.6 CPXSB±íµÄÑù±¾Êý¾Ý

4¡¢ ÓÃT-SQLÓï¾äÏòCP±í²åÈëÈçϼǼ£º

200001 200002 200003 ¹ñʽ¿Õµ÷ ΢²¨Â¯ ³éÓÍÑÌ»ú 3000 1000 1200 200 100 50 5¡¢ÓÃT-SQLÓï¾äÏòCP±íÖÐÔö¼Ó¡°²úÆ·¼òÁС±ÁУ¬varchar(50)£¬ÔÊÐíΪNULL¡£ 6¡¢½«CP±íÖÐÿÖÖÉÌÆ·µÄ¼Û¸ñ´ò8ÕÛ¡£

7¡¢½«CP±íÖм۸ñ´ò9ÕÛºóСÓÚ1500µÄÉÌÆ·É¾³ý¡£

ʵÑéËÄ µ¥±í²éѯ

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ÀμÇSELECT Óï¾äµÄ»ù±¾Óï·¨¸ñʽ£»

? ÊìÁ·ÕÆÎÕʹÓÃSQLÓï¾ä½øÐе¥±í²éѯ£¬ÓÈÆäÒªÊìÁ·ÕÆÎÕGROUP BY×Ӿ䡢HAVING ×Ó¾äºÍ¼¯º¯Êý£»

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

¶ÔCPXSÊý¾Ý¿â£¬Íê³ÉÈçϵ¥±í²éѯ£º 1¡¢

¼òµ¥²éѯ (½«ÄãÍê³ÉÕýÈ·µÄÓï¾äдÔÚºáÏßÉÏ) ? ²éѯ¸÷ÖÖ²úÆ·µÄ²úÆ·±àºÅ¡¢²úÆ·Ãû³ÆºÍ¼Û¸ñ¡£

____________________________________________________________ _____________________________________________________________ ? ²éѯµØÇøÔÚ¡°ÄϾ©¡±µÄ¿Í»§±àºÅºÍ¿Í»§Ãû³Æ£¬½á¹ûÖи÷ÁеıêÌâ·Ö±ðÖ¸¶¨Îª£ºCustomer idºÍCustomer name¡£

____________________________ _________________________________ _____________________________________________________________ ? ²éѯCP±íÖи÷ÖÖ²úÆ·µÄ²úÆ·±àºÅ¡¢²úÆ·Ãû³ÆºÍ¼Û¸ñ£¬¶ÔÆä¼Û¸ñ°´ÒÔϹæÔò½øÐÐת»»£»Èô¼Û¸ñСÓÚ1000£¬Ì滻Ϊ¡°Á®¼Û²úÆ·¡±£¬Èô¼Û¸ñÔÚ1000-2000Ö®¼ä£¬Ì滻Ϊ¡°Ò»°ã²úÆ·¡±£¬Èô½èÊéÊýÔÚ´óÓÚ2000СÓÚ3000£¬Ì滻Ϊ¡°°º¹ó²úÆ·¡±£¬Èô½èÊéÊý´óÓÚ3000£¬Ì滻Ϊ¡°ºÜ°º¹ó²úÆ·¡±£¬ÁбêÌâ¸ü¸ÄΪ¡°ÆÀ¼Û¡±¡£

_____________________________________________________________ _____________________________________________________________ _____________________________________________________________ ? Çó¸÷²úÆ·±àºÅ¡¢Ãû³ÆºÍ²úÆ·×ÜÖµ¡£

_____________________________________________________________ _____________________________________________________________ ? ²éѯÖÁÉÙ¹ºÂòÁËÖÁÉÙÒ»ÖÖ²úÆ·µÄ¿Í»§±àºÅ£¨²»Öظ´£©¡£

_____________________________________________________________ _____________________________________________________________ ? ²éѯ¼Û¸ñÔÚ1000-2000µÄ²úÆ·ÐÅÏ¢¡£

_____________________________________________________________ _____________________________________________________________ ? ²éѯ²úÆ·Ãû³Æº¬ÓС±±ùÏä_A¡±µÄ²úÆ·Çé¿ö¡£

_____________________________________________________________ _____________________________________________________________ 2¡¢Ê¹Ó÷Ö×éºÍ¼¯º¯Êý

ÏȽ«CPXSB±íÊý¾ÝÐÞ¸ÄÈçÏÂͼËùʾ£º

ÔÙÍê³ÉÈçϲéѯ£º

? ¼ÆËãËùÓвúÆ·×ܼ۸ñ¡£

_____________________________________________________________ _____________________________________________________________ ? Çó¸÷ÖÖ²úÆ·20XXÄê3ÔÂ18ÈÕÏúÊÛ¶î¡£

_____________________________________________________________ _____________________________________________________________ ? Çó¹ºÂò¶þÖÖÒÔÉϲúÆ·µÄ¿Í»§±àºÅ¡£

_____________________________________________________________ _____________________________________________________________

Èý¡¢×¢ÒâÊÂÏî

1¡¢ÔÚÉÏʵÑé¿ÎǰÐèԤϰ£¡£¡£¡

2¡¢Ã¿´Î²éѯÍê³ÉÐè¹Û²ì½á¹û£¬²¢·ÖÎöÆäÕýÈ·ÐÔ£¡

ʵÑéÎå Á¬½Ó²éѯ

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

?

ÊìÁ·ÕÆÎÕʹÓÃSQL±ê×¼Óï¾äºÍT-SQLÀ©Õ¹Óï¾ä½øÐÐÁ¬½Ó²éѯ¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

¶ÔCPXSÊý¾Ý¿â£¬Íê³ÉÈçÏÂÁ¬½Ó²éѯ£º

1¡¢

ÄÚÁ¬½Ó (½«ÄãÍê³ÉµÄÓï¾äдÔÚºáÏßÉÏ£¬ÒªÇóÓÃÁ½ÖÖ·½Ê½Êéд) ? ²éѯÔÚ20XXÄê3ÔÂ18ÈÕÓÐÏúÊ۵IJúÆ·Ãû³Æ£¨²»ÔÊÐíÖØ¸´£©¡£ SQL±ê×¼Óï¾ä£º

_____________________________________________________________ _____________________________________________________________ T-SQLÀ©Õ¹Óï¾ä£º

_____________________________________________________________ _____________________________________________________________

? ²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ20XXÄê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³ÆºÍÊýÁ¿¡£ SQL±ê×¼Óï¾ä£º

____________________________________________________________ _____________________________________________________________ T-SQLÀ©Õ¹Óï¾ä£º

____________________________________________________________ _____________________________________________________________ 2¡¢ÍâÁ¬½Ó

? ²éÕÒËùÓвúÆ·Çé¿ö¼°ÏúÊÛËûÃǵÄÏúÊÛÈÕÆÚ¡¢¹ºÂòËûÃǵĿͻ§±àºÅºÍÊý

Á¿£¬Èô²úƷûÓÐÏúÊۼǼ£¬Ò²Òª°üÀ¨ÆäÇé¿ö¡£

_____________________________________________________________ _____________________________________________________________ ? ²éÕÒËùÓйºÂòÇé¿ö£¬Èô¿Í»§Ã»ÓйºÂò²úÆ·£¬Ò²Òª°üÀ¨ÆäÇé¿ö¡£

_____________________________________________________________ _____________________________________________________________

Èý¡¢×¢ÒâÊÂÏî

1¡¢ÔÚÉÏʵÑé¿ÎǰÐ踴ϰ²¢Ð´³öÏàÓ¦µÄ²éѯÓï¾ä£¡£¡£¡ 2¡¢Ã¿´Î²éѯÍê³ÉÐè¹Û²ì½á¹û£¬²¢×öÊʵ±·ÖÎö£¡

ʵÑéÁù ǶÌײéѯ

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

ÊìÁ·ÕÆÎÕIN×Ó²éѯ

? ÊìÁ·ÕÆÎձȽÏ×Ó²éѯ£¨ÓÈÆäҪעÒâANY¡¢ALLν´ÊÈçºÎÓü¯º¯Êý´úÌæ£© ? ÊìÁ·ÕÆÎÕEXISTS×Ó²éѯ£¨ÓÈÆäҪעÒâÈçºÎ½«È«³ÆÁ¿´ÊºÍÂß¼­Ô̺¬ÓÃ

EXISTSν´Ê´úÌæ£©

?

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

¶ÔCPXSÊý¾Ý¿â£¬Íê³ÉÈçÏÂǶÌײéѯ£º

? ²éѯÔÚ20XXÄê3ÔÂ18ÈÕûÓÐÏúÊ۵IJúÆ·Ãû³Æ£¨²»ÔÊÐíÖØ¸´£©¡£ ÓÃIN×Ó²éѯ£º

_____________________________________________________________ _____________________________________________________________ ÓÃEXISTS×Ó²éѯ£º

_____________________________________________________________ _____________________________________________________________ ? ²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ20XXÄê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³ÆºÍÊýÁ¿¡£ ÓÃIN×Ó²éѯ£º

____________________________________________________________ _____________________________________________________________ ÓÃEXISTS×Ó²éѯ£º

____________________________________________________________ _____________________________________________________________

? ²éѯÏúÊÛÁ¿´óÓÚËùÓÐ20XXÄê3ÔÂ18ÈÕÏúÊ۵ĸ÷²úÆ·ÏúÊÛÊýÁ¿µÄ²úÆ·

±àºÅ¡£

ÓÃALLν´Ê£º

_____________________________________________________________ _____________________________________________________________ Óü¯º¯Êý£º

_____________________________________________________________ _____________________________________________________________

? ²éѯ¹ºÂòÁËËùÓвúÆ·µÄ¿Í»§µÄÃû³Æ¡£

_____________________________________________________________ _____________________________________________________________ ? ²éѯ¹ºÂòÁ˿ͻ§±àºÅΪ¡°000001¡±µÄ¿Í»§¹ºÂòµÄËùÓвúÆ·µÄ¿Í»§µÄÃû

³Æ¡£

_____________________________________________________________ _____________________________________________________________

Èý¡¢×¢ÒâÊÂÏî

1¡¢ÔÚÉÏʵÑé¿ÎǰÐ踴ϰ²¢Ð´³öÏàÓ¦µÄ²éѯÓï¾ä£¡£¡£¡ 2¡¢Ã¿´Î²éѯÍê³ÉÐè¹Û²ì½á¹û£¬²¢×öÊʵ±·ÖÎö£¡

ʵÑéÆß ÊÓͼµÄ´´½¨ºÍ¹ÜÀí

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ÊìÁ·ÕÆÎÕʹÓÃÆóÒµ¹ÜÀíÆ÷ºÍT-SQLÓï¾ä´´½¨¡¢²éѯ¡¢¸üС¢Ð޸ĺÍɾ³ý

ÊÓͼ¡£ ? ½øÒ»²½ÕÆÎÕÊÓͼÓë»ù±¾±íµÄÁªÏµÓëÇø±ð¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢´´½¨ÊÓͼ

£¨1£©Æô¶¯ÆóÒµ¹ÜÀíÆ÷£¬ÔÚ²úÆ·ÏúÊÛÊý¾Ý¿âCPXSÖд´½¨¼Û¸ñСÓÚ2000µÄ²úÆ·ÊÓͼVIEW_CP_PRICE2000£¬ÒªÇó¼ÓÃܲ¢±£Ö¤¶Ô¸ÃÊÓͼµÄ¸üж¼Òª·ûºÏ¼Û¸ñСÓÚ2000Õâ¸öÌõ¼þ£¬Ð´³ö´´½¨¹ý³ÌºÍ¶ÔÓ¦µÄT-SQLÓï¾ä£º

£¨2£©´ò¿ª²éѯ·ÖÎöÆ÷£¬ÓÃT-SQLÓï¾ä´´½¨¸÷¿Í»§¹ºÂò²úÆ·µÄÇé¿öVIEW_GMQKÊÓͼ£¬°üÀ¨¿Í»§±àºÅ¡¢¿Í»§Ãû³Æ¡¢²úÆ·±àºÅ¡¢²úÆ·Ãû³Æ¡¢¼Û¸ñ£¬¹ºÂòÈÕÆÚ¡¢¹ºÂòÊýÁ¿¡£

£¨3£©´´½¨·ÖÇøÊÓͼ£ºÔÚCPXSÊý¾Ý¿âÖд´½¨CP1ºÍCP2Á½¸ö±í£¬CP1±íÖÐΪ±àºÅСÓÚµÈÓÚ¡¯100010¡¯²úÆ·Êý¾Ý£¬CP1±íÖÐΪ±àºÅ´óÓÚ¡®100010¡¯²úÆ·Êý¾Ý£¬ÒÔ·ÖÇøÁÐΪ²úÆ·±àºÅ£¬ ´´½¨¿É¸üеķÖÇøÊÓͼVIEW_CP12¡£

2¡¢²éѯÊÓͼ

£¨1£©»ùÓÚVIEW_CP_PRICE2000ÊÓͼ£¬²éѯ¼Û¸ñÔÚ2000ÒÔϲúÆ·µÄ²úÆ·±àºÅ¡¢Ãû³ÆºÍ¼Û¸ñ¡£

£¨2£©»ùÓÚVIEW_GMQKÊÓͼ£¬²éѯ¸÷¿Í»§ÔÚ20004Äê3ÔÂ18ÈÕ¹ºÂò²úÆ·µÄÇé¿ö¡£

3¡¢¸üÐÂÊÓͼ

ÀûÓÃT-SQLÓï¾ä¶ÔÓÚÊÓͼVIEW_12½øÐÐÒÔÏÂÊý¾Ý¸üС£ £¨1£© ²åÈëÒ»ÌõCP¼Ç¼£¨¡¯'100042','ÊýÂëÏà»ú',3500,2£©¡£

£¨2£© ½«²úÆ·±àºÅΪ¡¯100042¡¯µÄ¼Û¸ñ¸ÄΪ3000¡£

£¨3£© ɾ³ý²úÆ·±àºÅΪ¡¯100042¡¯µÄ²úÆ·¡£

4¡¢ÐÞ¸ÄÊÓͼ

½«VIEW_CP_PRICE2000ÊÓͼ²»¼ÓÃÜ¡£

5¡¢É¾³ýÊÓͼ

½«VIEW-GMQKÊÓͼɾ³ý¡£

Èý¡¢·ÖÎöÓë»Ø´ð

ÊÓͼÓë»ù±¾±íµÄÇø±ðÓëÁªÏµ¡£

ʵÑé°Ë ÓαêµÄʹÓÃ

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ÕÆÎÕʹÓÃSQL-92Óï·¨ºÍT-SQLÀ©Õ¹ÉùÃ÷Óα꣬²¢Àí½âÏà¹Ø²ÎÊýº¬Òå¡£ ? ÕÆÎÕÓαêµÄʹÓùý³Ì¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢ÉùÃ÷Óαê

£¨1£©Ê¹ÓÃSQL-92Óï·¨ÉùÃ÷Ò»Ö»½øÖ»¶ÁÓαêCUR1£ºÒªÇó½á¹û¼¯20XXÄê3ÔÂ18ÈÕÏúÊÛÇé¿ö¡£

£¨2£©Ê¹ÓÃT-SQLÀ©Õ¹ÉùÃ÷Ò»¹ö¶¯¶¯Ì¬ÓαêCUR2£ºÒªÇó½á¹û¼¯Îª¿Í»§ÐÅÏ¢£¬²¢ÄÜͨ¹ý¸ÃÓαêÐ޸Ŀͻ§Ãû³ÆÁС£

2¡¢´ò¿ªÓαê

´ò¿ªCUR2Óαꡣ

3¡¢¶ÁÈ¡ÓαêÖÐÊý¾Ý

±àд³ÌÐò£¬ÊµÏÖÒÀ´Î¶ÁÈ¡ÓαêCUR2Öи÷ÐÐÊý¾Ý¡£

4¡¢¹Ø±ÕÓαê

¹Ø±ÕCUR2Óαꡣ

5¡¢ÊÍ·ÅÓαê

ÊÍ·ÅCUR2Óαꡣ

Èý¡¢·ÖÎöÓë»Ø´ð

1£®Ê²Ã´ÊÇÓαꣿΪʲôҪʹÓÃÓαꣿ

2£®¶ÔÓαêµÄ²Ù×÷Óï¾äÓÐÄÄЩ£¿·Ö±ð´ú±íʲôº¬Ò壿

ʵÑé¾Å T-SQLÓïÑÔ±à³Ì»ù´¡

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ÊìÁ·ÕÆÎÕ±äÁ¿µÄ¶¨ÒåºÍ¸³Öµ¡£

? ÊìÁ·ÕÆÎÕÓû§×Ô¶¨ÒåÊý¾ÝÀàÐͶ¨Ò塢ʹÓúÍɾ³ý¡£ ? ÊìÁ·ÕÆÎÕ¸÷ÖÖÔËËã·û¡£

? ÊìÁ·ÕÆÎÕÁ÷³Ì¿ØÖÆÓï¾ä£¬ÓÈÆäÊÇÌõ¼þÓï¾äºÍÑ­»·Óï¾ä¡£ ? ÊìϤ²¢ÕÆÎÕ³£ÓõÄϵͳº¯Êý¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢±äÁ¿µÄ¶¨ÒåºÍ¸³Öµ

´´½¨Ò»ÃûΪ Customer_nameµÄ¾Ö²¿±äÁ¿£¬²¢ÔÚSELECTÓï¾äÖÐʹÓøñäÁ¿²éÕÒ¡°¹ãµç¹«Ë¾¡±¹ºÂò²úÆ·µÄÇé¿ö¡£

2¡¢Óû§×Ô¶¨ÒåÊý¾ÝÀàÐͶ¨Ò塢ʹÓúÍɾ³ý

ÓÃSQLÃüÁÒåÒ»ÃûΪCustomer_idµÄÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬ÒªÇóchar(6)£¬NOT NULL£¬²¢°Ñ¸Ã×Ô¶¨ÒåÊý¾ÝÀàÐÍÓÃÀ´¶¨ÒåXSS±íÖеĿͻ§±àºÅ£¬È»ºóɾ³ý¸Ã×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬ÇëÐðÊö¸Ã¹ý³Ì£¬²¢Ð´³öÏà¹ØÓï¾ä¡£

3¡¢T-SQLÓïÑÔ±à³Ì

£¨1£©ÓÃT-SQLÓïÑÔ±à³ÌÊä³ö3¡«300Ö®¼äÄܱ»7Õû³ýµÄÊý¡£

£¨2£©ÓÃT-SQLÓïÑÔ±à³ÌÊä³ö3¡«100Ö®ÄÚµÄËØÊý¡£

Èý¡¢·ÖÎöÓë»Ø´ð

1 ÔÚSQL Server 2000ÖУ¬ÓÐÄÄЩÔËËã·û£¿ÊÔ¾ÙÀý˵Ã÷ÄãÈÏΪ½ÏΪ³£ÓõÄÔËËã·ûµÄÓ÷¨¡££¨²»ÉÙÓÚ3¸ö£©

2 ÊÔ¾ÙÀý˵Ã÷ÎÒÃǽÏΪ³£ÓõÄϵͳÄÚÖú¯Êý¡££¨²»ÉÙÓÚ3¸ö£©

ʵÑéÊ® º¯Êý

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? Àí½âʲôÊDZêÁ¿º¯Êý¡¢ÄÚǶ±íÖµº¯Êý¼°¶àÓï¾ä±íÖµº¯Êý¡£

? ÊìÁ·ÕÆÎÕ±êÁ¿º¯Êý¡¢ÄÚǶ±íÖµº¯Êý¡¢¶àÓï¾ä±íÖµº¯ÊýµÄ¶¨ÒåºÍµ÷



¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢º¯ÊýµÄ¶¨Òå

¶ÔÓÚCPXSÊý¾Ý¿â£¬¶¨ÒåÍê³ÉÈçϹ¦Äܵĺ¯Êý£º

£¨1£©¾Ý²úÆ·Ãû³Æ£¬²éѯ¸Ã²úÆ·µÄÏà¹ØÐÅÏ¢£»£¨º¯ÊýÃûΪFU_CP£©

£¨2£©°´Ä³Äêij¼¾¶Èͳ¼Æ¸ø¶¨²úÆ·Ãû³ÆµÄÏúÊÛÊýÁ¿¼°ÏúÊÛ½ð¶î£»·Ö±ðÓÃÃûΪFU1_CPXSÄÚǶ±íÖµº¯ÊýºÍÃûΪFU2_CPXSµÄ¶àÓï¾ä±íÖµº¯Êý¡£

£¨3£©¸ù¾ÝÏúÊÛÉÌÃû³Æ£¬Í³¼ÆÆäÔÚijÄêij¼¾¶ÈÄÚÏúÊÛÉÌÆ·Ãû³Æ¡¢ÊýÁ¿¼°½ð¶î¡££¨º¯ÊýÃûΪFU3_CPXS£©

2¡¢º¯ÊýµÄµ÷ÓÃ

£¨1£©¶Ôº¯ÊýFU_CP£¬²éѯ²úÆ·Ãû³ÆÎª¡°mp3¡±µÄ²úÆ·Çé¿ö£»

£¨2£©¶Ôº¯ÊýFU1_CPXS£¬²éѯ20XXÄêµÚ3¼¾¶È²ÊÉ«µçÊÓ»úµÄÏúÊÛÊýÁ¿ºÍÏúÊÛ½ð¶î£»

£¨3£©¶Ôº¯ÊýFU2_CPXS£¬²éѯ20XXÄêµÚ1¼¾¶ÈÏ´Ò»úµÄÏúÊÛÊýÁ¿ºÍÏúÊÛ½ð¶î£»

£¨4£©¶Ôº¯ÊýFU3_CPXS£¬²éѯ¹ãµç¹«Ë¾20XXÄêµÚ1¼¾¶ÈÏúÊÛ

µÄ²úÆ·Ãû³Æ¡¢ÏúÊÛÊýÁ¿ºÍÏúÊÛ½ð¶î¡£

Èý¡¢·ÖÎöÓë»Ø´ð

ÊÔ˵Ã÷ÄÚǶ±íÖµº¯Êý¡¢¶àÓï¾ä±íÖµº¯ÊýµÄÁªÏµÓëÇø±ð¡£

ʵÑéʮһ Ë÷Òý¡¢Ä¬ÈÏÖµÔ¼ÊøºÍĬÈÏÖµ¶ÔÏó

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? Àí½âË÷ÒýµÄ¸ÅÄîºÍ×÷Óá£

? ÊìÁ·ÕÆÎÕË÷ÒýµÄ´´½¨Óëɾ³ý¡£ ? ÊìÁ·ÕÆÎÕĬÈÏÖµÔ¼ÊøµÄ¶¨ÒåºÍɾ³ý¡£ ? ÊìÁ·ÕÆÎÕĬÈÏÖµ¶ÔÏóµÄ¶¨Ò塢ʹÓúÍɾ³ý¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

¶ÔÓÚCPXSÊý¾Ý¿â£¬Íê³ÉÈçϲÙ×÷£º

1¡¢Ë÷ÒýµÄ´´½¨ºÍɾ³ý

£¨1£©¶ÔCP±í£¬ÔÚ²úÆ·Ãû³ÆÉ϶¨ÒåÒ»¸öΨһ·Ç¾Û´ØµÄË÷Òýind_cp¡£

£¨2£©ÏÈ´´½¨¸÷¿Í»§¹ºÂò²úÆ·µÄÇé¿öVIEW1ÊÓͼ£¬°üÀ¨¿Í»§±àºÅ¡¢¿Í»§Ãû³Æ¡¢

²úÆ·±àºÅ¡¢²úÆ·Ãû³Æ¡¢¼Û¸ñ£¬¹ºÂòÈÕÆÚ¡¢¹ºÂòÊýÁ¿£¬È»ºóÔÚ¿Í»§±àºÅ+²úÆ·±àºÅ+¹ºÂòÈÕÆÚ¶¨ÒåÒ»¸öΨһ¾Û´ØË÷Òýind_view1¡££¨Çë×¢Òâ7¸öSET

Ñ¡ÏîÉèÖã©¡£

2¡¢Ë÷ÒýµÄɾ³ý

ɾ³ýind_view1Ë÷Òý¡££»

3¡¢Ä¬ÈÏÖµÔ¼ÊøµÄ¶¨Òå

¶Ô¿â´æÁ¿×Ö¶ÎÌí¼ÓĬÈÏֵΪ0µÄÔ¼Êødef_kcl¡£

4¡¢Ä¬ÈÏÖµÔ¼ÊøµÄɾ³ý ɾ³ýdef_kclĬÈÏÖµÔ¼Êø¡£

5¡¢Ä¬ÈÏÖµ¶ÔÏóµÄ¶¨Ò塢ʹÓúÍɾ³ý

£¨1£©¶¨ÒåһֵΪ0µÄĬÈÏÖµ¶ÔÏókcl_def£¬²¢½«Æä°ó¶¨µ½CP±íµÄ¿â´æÁ¿×ֶΣ»È»ºóÔÙɾ³ý´ËĬÈÏÖµ¶ÔÏó£¬ÇëÐðÊö¸Ã¹ý³Ì£¬²¢Ð´³öÏà¹ØSQLÓï¾ä¡£

£¨2£© ÓÃSQLÃüÁÒåÒ»ÃûΪcityµÄÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬ÒªÇóchar(6)£¬NULL£¬ÔÙ¶¨ÒåһֵΪ¡°±±¾©¡±µÄĬÈÏÖµ¶ÔÏócity_def£¬È»ºó½«city_defĬÈÏÖµ¶ÔÏó°ó¶¨µ½city×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬×îºóɾ³ýcity_defĬÈÏÖµ¶ÔÏó£¬ÇëÐðÊö¸Ã¹ý³Ì£¬²¢Ð´³öÏà¹ØSQLÓï¾ä¡£

Èý¡¢·ÖÎöÓë»Ø´ð

£¨1£© ˵Ã÷Ë÷ÒýµÄ¸ÅÄîºÍ×÷Óá£

£¨2£© ˵Ã÷¾Û´ØË÷ÒýºÍ·Ç¾Û´ØË÷ÒýµÄº¬ÒåºÍÇø±ð¡£

ʵÑéÊ®¶þ Êý¾ÝÍêÕûÐÔµÄʵÏÖ

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? ÊìÁ·ÕÆÎÕÓòÍêÕûÐÔµÄʵÏÖ¡£ ? ÊìÁ·ÕÆÎÕʵÌåÍêÕûÐÔµÄʵÏÖ¡£ ? ÊìÁ·ÕÆÎÕ²ÎÕÕÍêÕûÐÔµÄʵÏÖ¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

¶ÔÓÚCPXSÊý¾Ý¿â£¬É¾³ýCP±í¡¢CPXSB±í¡¢XSS±íÉÏÒÑÓÐËùÓÐÔ¼Êø£º

1¡¢ÊµÌåÍêÕûÐÔµÄʵÏÖ

£¨1£©¶ÔCP±í¡¢CPXSB±í¡¢XSS±í£¬¶¨ÒåÖ÷¼üÔ¼Êø£¨ÓÃÆóÒµ¹ÜÀíÆ÷ºÍSQLÓï¾ä·Ö±ðʵÏÖ£¬Ð´³öÏàÓ¦¹ý³ÌºÍÓï¾ä£©¡£

£¨2£©ÔÚCP±íµÄ²úÆ·Ãû³ÆÁж¨ÒåÒ»¸öÎ¨Ò»Ô¼Êø£¨ÓÃÆóÒµ¹ÜÀíÆ÷ºÍSQLÓï¾ä·Ö±ðʵÏÖ£¬Ð´³öÏàÓ¦¹ý³ÌºÍÓï¾ä£©¡£

2¡¢²ÎÕÕÍêÕûÐÔµÄʵÏÖ

£¨1£©ÀûÓÃÆóÒµ¹ÜÀíÆ÷½¨Á¢CP±íÓëCPXSBÖ®¼äµÄ²ÎÕÕ¹ØÏµ£¬µ±¶ÔÖ÷±íCP±í½øÐиüкÍɾ³ý²Ù×÷ʱ£¬´Ó±íCPXSB²ÉÓÃNO ACTION·½Ê½£¬Ð´³öÆä¹ý³Ì¡£

£¨2£©ÀûÓÃSQLÓï¾ä½¨Á¢CPXSBÓëXSS±íÖ®¼äµÄ²ÎÕÕ¹ØÏµ£¬µ±¶ÔÖ÷±íXSS±í½øÐиüкÍɾ³ý²Ù×÷ʱ£¬´Ó±íCPXSB²ÉÓÃCASCADE£¨¼¶Áª£©·½Ê½£¬Ð´³öÆä¹ý³Ì¡£

3¡¢ÓòÍêÕûÐÔµÄʵÏÖ

£¨1£©ÔÚCP±íµÄ¼Û¸ñÁÐÉ϶¨Òå´óÓÚµÈÓÚ0µÄ¼ì²é£¨CHECK£©Ô¼Êø¡£

£¨2£©¶¨ÒåÒ»¸ö´óÓÚµÈÓÚ0µÄ¹æÔòcheck_kcl£¬²¢½«Æä°ó¶¨µ½CP±íµÄ¿â´æÁ¿ÁУ¬È»ºó½â³ý°ó¶¨£¬É¾³ý¸Ã¹æÔò£¬Çëд³öÏà¹ØSQLÓï¾ä¡£

4¡¢×ÛºÏѵÁ·

´´½¨Ò»¸ö¡°Ñ§Éúµµ°¸¡±Êý¾Ý¿â£¬²¢ÓÃCREATE TABLEÔÚ¸ÃÊý¾Ý¿âÖд´½¨¡°ÈËÊ¡±±íºÍ¡°³É¼¨¡±Á½¸ö±í£¬ÆäÖС°ÈËÊ¡±±í°üÀ¨Ñ§ºÅ¡¢ÐÕÃû¡¢ÐԱ𡢵绰ºÅÂë¡¢¼Òͥסַ×Ö¶Î×é³É¡£¡°³É¼¨¡±±í°üÀ¨Ñ§ºÅ¡¢Ñ¡Ð޿γÌÃû³Æ¡¢³É¼¨Èý¸ö×ֶΡ£·Ö±ðÔÚ¡°ÈËÊ¡±±íµÄѧºÅ×Ö¶ÎÉèÖÃÖ÷¼üÔ¼Êø£¬ÔÚ¡°³É¼¨¡±±íµÄѧºÅ×Ö¶ÎÉèÖÃÍâ¼üÔ¼Êø£¬Ôڳɼ¨×Ö¶ÎÉèÖôóÓÚµÈÓÚ0СÓÚµÈÓÚ100µÄ¼ì²éÔ¼Êø£¬ÔÚ¼Òͥסַ×Ö¶ÎÉèÖÃÎ©Ò»Ô¼Êø£¬ÔÚÐÔ±ð×Ö¶ÎÉèÖÃĬÈÏֵΪ¡°ÄС±¡£

Èý¡¢·ÖÎöÓë»Ø´ð

ÔÚSQL ServerÖÐÌÖÂÛ²ÎÕÕÍêÕûÐÔ£¬ÇëÌå»áÈçϺ¬Ò壺 ? ²åÈë´Ó±íÖмǼʱ£ºÓÐÏÞÖÆºÍºöÂÔÁ½ÖÖ·½Ê½£»

? ɾ³ýÖ÷±íÖеļǼʱ£ºÓÐÏÞÖÆ¡¢ºöÂԺͼ¶ÁªÈýÖÖ·½Ê½£» ? ÐÞ¸ÄÖ÷±íÖеÄÖ÷¼üʱ£ºÓÐÏÞÖÆ¡¢ºöÂԺͼ¶ÁªÈýÖÖ·½Ê½¡£ ÊÔ¸ù¾Ý×ÔÉíѧϰ£¬·Ö±ð˵Ã÷Æäº¬Òå¡£

ʵÑéÊ®Îå ϵͳ°²È«¹ÜÀí

Ò»¡¢ÊµÑéÄ¿µÄÓëÒªÇó

? Àí½âSQL ServerÖеݲȫ¹ÜÀí»úÖÆ¡£

? Àí½âÕÊ»§¡¢Óû§¡¢·þÎñÆ÷½ÇÉ«ºÍÊý¾Ý¿â½ÇÉ«µÄº¬Òå¡£

? ÊìÁ·ÕÆÎÕWindows NTµÇ¼ÕÊ»§ºÍSQL ServerµÇ¼ÕÊ»§µÄ½¨Á¢Óë

ɾ³ý¡£

? ÊìÁ·ÕÆÎÕÌí¼ÓÓëɾ³ý·þÎñÆ÷½ÇÉ«³ÉÔ±¡£

? ÊìÁ·ÕÆÎÕÌí¼ÓºÍɾ³ýÒ»¸öµÇ¼ÕÊ»§ÎªÄ³¸öÊý¾Ý¿âµÄÓû§¡£ ? ÊìÁ·ÕÆÎÕÌí¼ÓºÍɾ³ýÊý¾Ý¿â½ÇÉ«¡£ ? ÊìÁ·ÕÆÎÕÌí¼ÓºÍɾ³ýÊý¾Ý¿â½ÇÉ«³ÉÔ±¡£

? ÊìÁ·ÕÆÎÕÓû§¡¢½ÇÉ«µÄÊÚȨ¡¢ÊÕ»ØÈ¨Ï޺;ܾøÈ¨ÏÞ¡£

¶þ¡¢ÊµÑéÄÚÈݺͲ½Öè

1¡¢´´½¨Windows NTµÇ¼ÕÊ»§

ÔÚSQL ServerÖÐÌí¼ÓÒ»¸öÕÊ»§ÃûΪ¡°WANG¡±µÄWindows NTµÇ¼ÕÊ»§¡£

2¡¢´´½¨SQL ServerµÇ¼ÕÊ»§

ÔÚSQL ServerÖÐÌí¼ÓÒ»¸öÕÊ»§ÃûΪ¡°LIU¡±£¬ÃÜÂëΪ¡°123456¡±µÄSQL ServerµÇ¼ÕÊ»§¡£

3¡¢Ìí¼Ó·þÎñÆ÷½ÇÉ«³ÉÔ±

½«¡°WANG¡±Õâ¸öWindows NTµÇ¼ÕÊ»§Ìí¼Óµ½ÏµÍ³¹ÜÀíÔ±·þÎñÆ÷½ÇÉ«ÖС£

4¡¢Ìí¼ÓÒ»¸öµÇ¼ÕÊ»§ÎªÄ³¸öÊý¾Ý¿âµÄÓû§

½«¡°LIU¡± Õâ¸öSQL ServerµÇ¼ÕÊ»§Ìí¼ÓΪCPXSÊý¾Ý¿âÖÐÒ»¸öÓû§£¬Ãû³ÆÒ²Îª¡°LIU¡±¡£

5¡¢Ìí¼ÓÊý¾Ý¿â½ÇÉ«

ÔÚCPXSÊý¾Ý¿âÖÐÌí¼ÓÒ»¸öÃûΪ¡°ROLE¡±µÄ½ÇÉ«¡£

6¡¢Ìí¼ÓÊý¾Ý¿â½ÇÉ«³ÉÔ±

½«CPXSÊý¾Ý¿âÖÐÃûΪ¡°LIU¡±Õâ¸öÓû§Ìí¼ÓΪ¡°ROLE¡±½ÇÉ«³ÉÔ±¡£

7¡¢Óû§¡¢½ÇÉ«µÄÊÚȨ

ÊÚÓè¡°LIU¡±Óû§ºÍ¡°ROLE¡±½ÇÉ«¶ÔCPXSB±íµÄ²éѯȨÏÞºÍÊýÁ¿ÁеÄÐÞ¸ÄȨÏÞ¡£

8¡¢ÊÕ»ØÓû§¡¢½ÇÉ«µÄ

Êջء°LIU¡±Óû§µÄËùÓÐȨÏÞ¡£²¢²é¿´ÊÇ·ñÄÜ´ò¿ªCPXSB±í¡£

9¡¢¾Ü¾øÓû§¡¢½ÇÉ«µÄȨÏÞ

ÖØÐÂÊÚÓè¡°LIU¡±Óû§¶ÔCPXSB±íµÄ²éѯȨÏÞºÍÊýÁ¿ÁеÄÐÞ¸ÄȨÏÞ¡£Ôپܾø¸ÃÓû§µÄËùÓÐȨÏÞ¡£²¢²é¿´ÊÇ·ñÄÜ´ò¿ªCPXSB±í£¬²¢Í¨¹ý´ËʵÀý²ûÊöÊÕ»ØÈ¨ÏÞÓë¾Ü¾øÈ¨ÏÞµÄÇø±ð¡£

ʵÑé3£º

create database CPXS on

(name='CPXS_data',

filename='D:\\dbf\\CPXS_data.mdf', size=5,

maxsize=50, filegrowth=10% )

log on

(name='CPXS_log',

filename='D:\\dbf\\CPXS_log.mdf', size=2,

maxsize=10, filegrowth=2 )

alter database CPXS

modify file (name='CPXS_data',filegrowth=5)

create table CP (

²úÆ·±àºÅ char(6) primary key, ²úÆ·Ãû³Æ char(30) not null, ¼Û¸ñ float(8), ¿â´æÁ¿ int )

create table XSS (

¿Í»§±àºÅ char(6) primary key, ¿Í»§Ãû³Æ char(30) not null, µØÇø char(10),

¸ºÔðÈË char(8), µç»° char(12) )

create table CPXSB (

²úÆ·±àºÅ char(6) foreign key references CP(²úÆ·±àºÅ), ¿Í»§±àºÅ char(6) foreign key references XSS(¿Í»§±àºÅ), ÏúÊÛÈÕÆÚ datetime, ÊýÁ¿ int not null,

ÏúÊÛ¶î float(4) not null,

constraint PK_CPXSB primary key(²úÆ·±àºÅ,¿Í»§±àºÅ,ÏúÊÛÈÕÆÚ) )

insert into CP

values('200001','¹ñʽ¿Õµ÷',3000,200)

insert into CP

values('200002','΢²¨Â¯',1000,100,NULL)

insert into CP

values('200003','³éÓÍÑÌ»ú',1200,50,NULL)

alter table CP

add ²úÆ·¼òÁÐ varchar(50)

update CP

set ¼Û¸ñ=¼Û¸ñ*0.8

delete from CP

where ¼Û¸ñ*0.9<1500

ʵÑéËÄ£º 1.

select ²úÆ·±àºÅ,²úÆ·Ãû³Æ,¼Û¸ñ from CP

select ¿Í»§±àºÅ as 'Customer id' ,¿Í»§Ãû³Æ as 'Customer name' from XSS

where µØÇø='ÄϾ©'

select ²úÆ·±àºÅ,²úÆ·Ãû³Æ,ÆÀ¼Û= case

when ¼Û¸ñ<1000 then 'Á®¼Û²úÆ·'

when ¼Û¸ñ>=1000 and ¼Û¸ñ<2000 then 'Ò»°ã²úÆ·' when ¼Û¸ñ>=2000 and ¼Û¸ñ<3000 then '°º¹ó²úÆ·' else 'ºÜ°º¹ó²úÆ·' end from CP

select ²úÆ·±àºÅ,²úÆ·Ãû³Æ,²úÆ·×ÜÖµ=¼Û¸ñ*¿â´æÁ¿ from CP

select ¿Í»§±àºÅ from CPXSB

group by ¿Í»§±àºÅ

having count(²úÆ·±àºÅ)>=1

select * from CP

where ¼Û¸ñ>1000 and ¼Û¸ñ<2000

select * from CP

where ²úÆ·Ãû³Æ like '±ùÏä_A' 2.

select ×ܼ۸ñ=sum(¼Û¸ñ) from CP

select ²úÆ·±àºÅ ,sum(ÏúÊÛ¶î) ÏúÊÛ¶î from CPXSB

where ÏúÊÛÈÕÆÚ='2004-3-18' group by ²úÆ·±àºÅ

select ¿Í»§±àºÅ from CPXSB

group by ¿Í»§±àºÅ

having count(²úÆ·±àºÅ)>=2

ʵÑéÎå

1.²éѯÔÚ20XXÄê3ÔÂ18ÈÕÓÐÏúÊ۵IJúÆ·Ãû³Æ£¨²»ÔÊÐíÖØ¸´£©¡£ SQL±ê×¼Óï¾ä£º

select distinct ²úÆ·Ãû³Æ from CP,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and ÏúÊÛÈÕÆÚ='2004-3-18'

T-SQLÀ©Õ¹Óï¾ä£º select distinct ²úÆ·Ãû³Æ from CP inner join CPXSB

on CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and ÏúÊÛÈÕÆÚ='2004-3-18'

2.²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ20XXÄê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³ÆºÍÊýÁ¿¡£ SQL±ê×¼Óï¾ä£º select ²úÆ·Ãû³Æ,ÊýÁ¿ from CP,XSS,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ and ÏúÊÛÈÕÆÚ='2004-3-18' and ¿Í»§Ãû³Æ='¼ÒµçÊг¡'

T-SQLÀ©Õ¹Óï¾ä£º select ²úÆ·Ãû³Æ,ÊýÁ¿ from CP inner join CPXSB

on CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and ÏúÊÛÈÕÆÚ='2004-3-18' inner join XSS

on XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ and ¿Í»§Ãû³Æ='¼ÒµçÊг¡'

3.²éÕÒËùÓвúÆ·Çé¿ö¼°ÏúÊÛËûÃǵÄÏúÊÛÈÕÆÚ¡¢¹ºÂòËûÃǵĿͻ§±àºÅºÍÊýÁ¿£¬ Èô²úƷûÓÐÏúÊۼǼ£¬Ò²Òª°üÀ¨ÆäÇé¿ö¡£ select CP.*,ÏúÊÛÈÕÆÚ, ¿Í»§±àºÅ,ÊýÁ¿ from CP left outer join CPXSB

on CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ

4.²éÕÒËùÓйºÂòÇé¿ö£¬Èô¿Í»§Ã»ÓйºÂò²úÆ·£¬Ò²Òª°üÀ¨ÆäÇé¿ö¡£ select XSS.*,²úÆ·±àºÅ,ÏúÊÛÈÕÆÚ,ÊýÁ¿,ÏúÊÛ¶î from CPXSB right join XSS

on XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ

ʵÑéÁù

²éѯÔÚ20XXÄê3ÔÂ18ÈÕûÓÐÏúÊ۵IJúÆ·Ãû³Æ£¨²»ÔÊÐíÖØ¸´£©¡£ ÓÃIN×Ó²éѯ£º

select distinct ²úÆ·Ãû³Æ from CP

where ²úÆ·±àºÅ not in

(select ²úÆ·±àºÅ from CPXSB

where ÏúÊÛÈÕÆÚ='2004-3-18')

ÓÃEXISTS×Ó²éѯ£º

select distinct ²úÆ·Ãû³Æ from CP

where not exists (select * from CPXSB

where ÏúÊÛÈÕÆÚ='2004-3-18'and CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ )

²éѯÃû³ÆÎª¡°¼ÒµçÊг¡¡±µÄ¿Í»§ÔÚ20XXÄê3ÔÂ18ÈÕ¹ºÂòµÄ²úÆ·Ãû³ÆºÍÊýÁ¿¡£ ÓÃIN×Ó²éѯ£º

select ²úÆ·Ãû³Æ,ÊýÁ¿ from CP,CPXSB where ¿Í»§±àºÅ in

( select ¿Í»§±àºÅ from XSS where ¿Í»§Ãû³Æ='¼ÒµçÊг¡' )

and ÏúÊÛÈÕÆÚ='2004-3-18' and CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ

ÓÃEXISTS×Ó²éѯ£º

select ²úÆ·Ãû³Æ,ÊýÁ¿ from CP,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and ÏúÊÛÈÕÆÚ='2004-3-18' and exists (

select * from XSS where ¿Í»§Ãû³Æ='¼ÒµçÊг¡'and XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ )

²éѯÏúÊÛÁ¿´óÓÚËùÓÐ20XXÄê3ÔÂ18ÈÕÏúÊ۵ĸ÷²úÆ·ÏúÊÛÊýÁ¿µÄ²úÆ·±àºÅ¡£ ÓÃALLν´Ê£º

select ²úÆ·±àºÅ from CPXSB group by ²úÆ·±àºÅ having sum(ÊýÁ¿)>all

(select sum(ÊýÁ¿) from CPXSB where ÏúÊÛÈÕÆÚ='2004-3-18' group by ²úÆ·±àºÅ )

²éѯ¹ºÂòÁËËùÓвúÆ·µÄ¿Í»§µÄÃû³Æ¡£ select ¿Í»§Ãû³Æ from XSS

where not exists (

select * from CP where not exists (

select * from CPXSB

where ²úÆ·±àºÅ=CP.²úÆ·±àºÅ and ¿Í»§±àºÅ=XSS.¿Í»§±àºÅ ) )

²éѯ¹ºÂòÁ˿ͻ§±àºÅΪ¡°000001¡±µÄ¿Í»§¹ºÂòµÄËùÓвúÆ·µÄ¿Í»§µÄÃû³Æ¡£

select ¿Í»§Ãû³Æ from XSS where not exists (

select * from CP where exists (

select * from CPXSB x

where x.²úÆ·±àºÅ=CP.²úÆ·±àºÅ and x.¿Í»§±àºÅ='000001' and not exists (

select * from CPXSB y

where y.¿Í»§±àºÅ=XSS.¿Í»§±àºÅ and y.²úÆ·±àºÅ=CP.²úÆ·±àºÅ ) ) )

and ¿Í»§±àºÅ !='000001'

ʵÑéÆß

£¨1£©Æô¶¯ÆóÒµ¹ÜÀíÆ÷£¬ÔÚ²úÆ·ÏúÊÛÊý¾Ý¿âCPXSÖд´½¨¼Û¸ñСÓÚ2000µÄ²úÆ·ÊÓͼVIEW_CP_PRICE2000£¬

ÒªÇó¼ÓÃܲ¢±£Ö¤¶Ô¸ÃÊÓͼµÄ¸üж¼Òª·ûºÏ¼Û¸ñСÓÚ2000Õâ¸öÌõ¼þ£¬ д³ö´´½¨¹ý³ÌºÍ¶ÔÓ¦µÄT-SQLÓï¾ä£º create view VIEW_CP_PRICE2000 with encryption as

select* from CP where ¼Û¸ñ<2000

with check option

£¨2£©´ò¿ª²éѯ·ÖÎöÆ÷£¬ÓÃT-SQLÓï¾ä´´½¨¸÷¿Í»§¹ºÂò²úÆ·µÄÇé¿öVIEW_GMQKÊÓͼ£¬°üÀ¨¿Í»§±àºÅ¡¢

¿Í»§Ãû³Æ¡¢²úÆ·±àºÅ¡¢²úÆ·Ãû³Æ¡¢¼Û¸ñ£¬¹ºÂòÈÕÆÚ¡¢¹ºÂòÊýÁ¿¡£ create view VIEW_GMQK as

select XSS.¿Í»§±àºÅ,¿Í»§Ãû³Æ,CP.²úÆ·±àºÅ,²úÆ·Ãû³Æ,¼Û¸ñ,ÏúÊÛÈÕÆÚ as '¹ºÂòÈÕÆÚ',ÊýÁ¿ as'¹ºÂòÊýÁ¿'

from CP,XSS,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ

£¨3£©´´½¨·ÖÇøÊÓͼ£ºÔÚCPXSÊý¾Ý¿âÖд´½¨CP1ºÍCP2Á½¸ö±í£¬CP1±íÖÐΪ±àºÅСÓÚµÈÓÚ¡¯100010¡¯

²úÆ·Êý¾Ý£¬CP1±íÖÐΪ±àºÅ´óÓÚ¡®100010¡¯²úÆ·Êý¾Ý£¬ÒÔ·ÖÇøÁÐΪ²úÆ·±àºÅ£¬ ´´½¨¿É¸üеķÖÇøÊÓͼVIEW_CP12¡£ create table CP1

(²úÆ·±àºÅ char(6) primary key check(²úÆ·±àºÅ<='100010'), ²úÆ·Ãû³Æ char(30) not null, ¼Û¸ñ real, ¿â´æÁ¿ int,

²úÆ·¼òÁÐ varchar(50) )

create table CP2

(²úÆ·±àºÅ char(6) primary key check(²úÆ·±àºÅ>'100010'), ²úÆ·Ãû³Æ char(30) not null, ¼Û¸ñ real, ¿â´æÁ¿ int,

²úÆ·¼òÁÐ varchar(50) )

create view VIEW_CP12 as

select * from CP1 union all

select * from CP2

2¡¢²éѯÊÓͼ

£¨1£©»ùÓÚVIEW_CP_PRICE2000ÊÓͼ£¬²éѯ¼Û¸ñÔÚ2000ÒÔϲúÆ·µÄ²úÆ·±àºÅ¡¢Ãû³ÆºÍ¼Û¸ñ¡£

select ²úÆ·±àºÅ,²úÆ·Ãû³Æ,¼Û¸ñ from VIEW_CP_PRICE2000

£¨2£©»ùÓÚVIEW_GMQKÊÓͼ£¬²éѯ¸÷¿Í»§ÔÚ20004Äê3ÔÂ18ÈÕ¹ºÂò²úÆ·µÄÇé¿ö¡£ select * from VIEW_GMQK where ¹ºÂòÈÕÆÚ='2004-3-18'

3¡¢¸üÐÂÊÓͼ

ÀûÓÃT-SQLÓï¾ä¶ÔÓÚÊÓͼVIEW_12½øÐÐÒÔÏÂÊý¾Ý¸üС£ £¨1£© ²åÈëÒ»ÌõCP¼Ç¼£¨¡¯ '100042','ÊýÂëÏà»ú',3500,2£©¡£ insert into VIEW_CP12

values('100042','ÊýÂëÏà»ú',3500,2,null)

£¨2£© ½«²úÆ·±àºÅΪ¡¯100042¡¯µÄ¼Û¸ñ¸ÄΪ3000¡£ update VIEW_CP12 set ¼Û¸ñ=3000

where ²úÆ·±àºÅ='100042'

£¨3£© ɾ³ý²úÆ·±àºÅΪ¡¯100042¡¯µÄ²úÆ·¡£

delete VIEW_CP12

where ²úÆ·±àºÅ='100042'

4¡¢ÐÞ¸ÄÊÓͼ

½«VIEW_CP_PRICE2000ÊÓͼ²»¼ÓÃÜ¡£ alter view VIEW_CP_PRICE2000 as

select* from CP where ¼Û¸ñ<2000 with check option

5¡¢É¾³ýÊÓͼ

½«VIEW-GMQKÊÓͼɾ³ý¡£ drop view VIEW_GMQK

ʵÑé°Ë

1¡¢ÉùÃ÷Óαê

£¨1£©Ê¹ÓÃSQL-92Óï·¨ÉùÃ÷Ò»Ö»½øÖ»¶ÁÓαêCUR1£ºÒªÇó½á¹û¼¯20XXÄê3ÔÂ18ÈÕÏúÊÛÇé¿ö¡£

declare CUR1 insensitive cursor for

select *from CPXSB where ÏúÊÛÈÕÆÚ='2004-3-18' for read only

£¨2£©Ê¹ÓÃT-SQLÀ©Õ¹ÉùÃ÷Ò»¹ö¶¯¶¯Ì¬ÓαêCUR2£ºÒªÇó½á¹û¼¯Îª¿Í»§ÐÅÏ¢£¬²¢ÄÜͨ¹ý¸ÃÓαêÐ޸Ŀͻ§Ãû³ÆÁС£ declare CUR2 cursor scroll for

select * from XSS

for update of ¿Í»§Ãû³Æ

2¡¢´ò¿ªÓαê

´ò¿ªCUR2Óαꡣ open CUR2

3¡¢¶ÁÈ¡ÓαêÖÐÊý¾Ý

±àд³ÌÐò£¬ÊµÏÖÒÀ´Î¶ÁÈ¡ÓαêCUR2Öи÷ÐÐÊý¾Ý¡£

fetch next from CUR2

while @@FETCH_STATUS=0 begin

fetch next from CUR2 end

4¡¢¹Ø±ÕÓαê

¹Ø±ÕCUR2Óαꡣ close CUR2

5¡¢ÊÍ·ÅÓαê

ÊÍ·ÅCUR2Óαꡣ deallocate CUR2

ʵÑé¾Å

1¡¢±äÁ¿µÄ¶¨ÒåºÍ¸³Öµ

´´½¨Ò»ÃûΪ Customer_nameµÄ¾Ö²¿±äÁ¿£¬²¢ÔÚSELECTÓï¾äÖÐʹÓøñäÁ¿²éÕÒ¡°¹ãµç¹«Ë¾¡±¹ºÂò²úÆ·µÄÇé¿ö¡£

declare @Customer_name varchar(20) set @Customer_name='¹ãµç¹«Ë¾'

select ¿Í»§Ãû³Æ,CPXSB.*from CPXSB,XSS

where ¿Í»§Ãû³Æ=@Customer_name and XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ

2¡¢Óû§×Ô¶¨ÒåÊý¾ÝÀàÐͶ¨Ò塢ʹÓúÍɾ³ý

ÓÃSQLÃüÁÒåÒ»ÃûΪCustomer_idµÄÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬ÒªÇóchar(6)£¬NOT NULL£¬ ²¢°Ñ¸Ã×Ô¶¨ÒåÊý¾ÝÀàÐÍÓÃÀ´¶¨ÒåXSS±íÖеĿͻ§±àºÅ£¬È»ºóɾ³ý¸Ã×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬ÇëÐðÊö¸Ã¹ý³Ì£¬²¢Ð´³öÏà¹ØÓï¾ä¡£

sp_addtype 'Customer_id','char(6)','not null' sp_droptype 'Customer_id'

ÏÈÓô´½¨Óï¾ä×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬È»ºó´ò¿ª¡°Êý¾Ý¿â-CPXSB-±í¡±£¬ÓÒ»÷XSS,Ñ¡Ôñ¡°Éè¼Æ±í¡±£¬½«¿Í»§±àºÅµÄÊý¾ÝÀàÐÍ ¸ÄΪCustomer_id,±£´æ¼´¿É

½«¿Í»§±àºÅµÄÊý¾ÝÀàÐ͸ĻØchar(6),È»ºóÓõڶþ¸öÓï¾äɾ³ý¸ÃÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ

3¡¢T-SQLÓïÑÔ±à³Ì

£¨1£©ÓÃT-SQLÓïÑÔ±à³ÌÊä³ö3¡«300Ö®¼äÄܱ»7Õû³ýµÄÊý¡£ declare @i int,@j int set @i=3 set @j=7

while @i<=300 begin

if(@i%@j)=0 print @i

set @i=@i+1

end

£¨2£©ÓÃT-SQLÓïÑÔ±à³ÌÊä³ö3¡«100Ö®ÄÚµÄËØÊý¡£ declare @i int,@j int,@t int set @i=3

while @i<100 begin

set @j=2 while @j<@i begin

set @t=@i%@j if @t=0 break set @j=@j+1 if(@j>=@i) print @i end

set @i=@i+1 end

ʵÑéÊ®

1¡¢º¯ÊýµÄ¶¨Òå

¶ÔÓÚCPXSÊý¾Ý¿â£¬¶¨ÒåÍê³ÉÈçϹ¦Äܵĺ¯Êý£º £¨1£©¾Ý²úÆ·Ãû³Æ£¬²éѯ¸Ã²úÆ·µÄÏà¹ØÐÅÏ¢£»£¨º¯ÊýÃûΪFU_CP£© create function FU_CP(@²úÆ·Ãû³Æ char(30)) returns table as return

select * from CP where ²úÆ·Ãû³Æ=@²úÆ·Ãû³Æ

£¨2£©°´Ä³Äêij¼¾¶Èͳ¼Æ¸ø¶¨²úÆ·Ãû³ÆµÄÏúÊÛÊýÁ¿¼°ÏúÊÛ½ð¶î£»·Ö±ðÓÃÃûΪFU1_CPXSÄÚǶ±íÖµº¯ÊýºÍÃûΪFU2_CPXSµÄ¶àÓï¾ä±íÖµº¯Êý¡£

create function FU1_CPXS(@year int,@quarter int,@²úÆ·Ãû³Æ char(30)) returns table as return

select ²úÆ·Ãû³Æ,sum(ÊýÁ¿) as ÏúÊÛÊýÁ¿,sum(ÏúÊÛ¶î) as ÏúÊÛ½ð¶î from CP,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and datepart(yy,ÏúÊÛÈÕÆÚ)=@year and datepart(qq,ÏúÊÛÈÕÆÚ)=@quarter and ²úÆ·Ãû³Æ=@²úÆ·Ãû³Æ

group by ²úÆ·Ãû³Æ

create function FU2_CPXS(@year int,@quarter int,@²úÆ·Ãû³Æ char(30)) returns @f2 table (

²úÆ·Ãû³Æ char(30), ÏúÊÛÊýÁ¿ int, ½ð¶î real ) as begin

insert into @f2

select ²úÆ·Ãû³Æ,sum(ÊýÁ¿) as ÏúÊÛÊýÁ¿,sum(ÏúÊÛ¶î) as ½ð¶î from CP,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and datepart(yy,ÏúÊÛÈÕÆÚ)=@year and datepart(qq,ÏúÊÛÈÕÆÚ)=@quarter and ²úÆ·Ãû³Æ=@²úÆ·Ãû³Æ group by ²úÆ·Ãû³Æ return end

£¨3£©¸ù¾ÝÏúÊÛÉÌÃû³Æ£¬Í³¼ÆÆäÔÚijÄêij¼¾¶ÈÄÚÏúÊÛÉÌÆ·Ãû³Æ¡¢ÊýÁ¿¼°½ð¶î¡££¨º¯ÊýÃûΪFU3_CPXS£©

create function FU3_CPXS(@¿Í»§Ãû³Æ char(30),@year int,@quarter int) returns table as return

select ¿Í»§Ãû³Æ,²úÆ·Ãû³Æ as ÏúÊÛÉÌÆ·Ãû³Æ,ÊýÁ¿,ÏúÊÛ¶î as ½ð¶î from CP,XSS,CPXSB

where CPXSB.²úÆ·±àºÅ=CP.²úÆ·±àºÅ and CPXSB.¿Í»§±àºÅ=XSS.¿Í»§±àºÅ

and ¿Í»§Ãû³Æ=@¿Í»§Ãû³Æ and datepart(yy,ÏúÊÛÈÕÆÚ)=@year and datepart(qq,ÏúÊÛÈÕÆÚ)=@quarter

2¡¢º¯ÊýµÄµ÷ÓÃ

£¨1£©¶Ôº¯ÊýFU_CP£¬²éѯ²úÆ·Ãû³ÆÎª¡°mp3¡±µÄ²úÆ·Çé¿ö£» select * from FU_CP('MP3')

£¨2£©¶Ôº¯ÊýFU1_CPXS£¬²éѯ20XXÄêµÚ3¼¾¶È²ÊÉ«µçÊÓ»úµÄÏúÊÛÊýÁ¿ºÍÏúÊÛ½ð¶î£» select * from FU1_CPXS(2004,3,'²ÊÉ«µçÊÓ»ú')

£¨3£©¶Ôº¯ÊýFU2_CPXS£¬²éѯ20XXÄêµÚ1¼¾¶ÈÏ´Ò»úµÄÏúÊÛÊýÁ¿ºÍÏúÊÛ½ð¶î£»

select * from FU2_CPXS(2004,1,'Ï´Ò»ú')

£¨4£©¶Ôº¯ÊýFU3_CPXS£¬²éѯ¹ãµç¹«Ë¾20XXÄêµÚ1¼¾¶ÈÏúÊ۵IJúÆ·Ãû³Æ¡¢ÏúÊÛÊýÁ¿ºÍÏúÊÛ½ð¶î¡£

select * from FU3_CPXS('¹ãµç¹«Ë¾',2004,1)

ʵÑéʮһ ¶ÔÓÚCPXSÊý¾Ý¿â£¬Íê³ÉÈçϲÙ×÷£º 1¡¢Ë÷ÒýµÄ´´½¨ºÍɾ³ý

£¨1£©¶ÔCP±í£¬ÔÚ²úÆ·Ãû³ÆÉ϶¨ÒåÒ»¸öΨһ·Ç¾Û´ØµÄË÷Òýind_cp¡£ create unique nonclustered index on CP(²úÆ·Ãû³Æ)

£¨2£©ÏÈ´´½¨¸÷¿Í»§¹ºÂò²úÆ·µÄÇé¿öVIEW1ÊÓͼ£¬°üÀ¨¿Í»§±àºÅ¡¢¿Í»§Ãû³Æ¡¢²úÆ·±àºÅ¡¢²úÆ·Ãû³Æ¡¢

¼Û¸ñ£¬¹ºÂòÈÕÆÚ¡¢¹ºÂòÊýÁ¿£¬È»ºóÔÚ¿Í»§±àºÅ+²úÆ·±àºÅ+¹ºÂòÈÕÆÚ¶¨ÒåÒ»¸öΨһ¾Û´ØË÷Òýind_view1¡££¨Çë×¢Òâ7¸öSETÑ¡ÏîÉèÖã©¡£ create view view1 with schemabinding as

select XSS.¿Í»§±àºÅ,¿Í»§Ãû³Æ,CP.²úÆ·±àºÅ,²úÆ·Ãû³Æ,¼Û¸ñ,ÏúÊÛÈÕÆÚ as ¹ºÂòÈÕÆÚ,ÊýÁ¿ as ¹ºÂòÊýÁ¿

from dbo.CP,dbo.XSS,dbo.CPXSB

where XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ and CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ

SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON SET ARITHABORT ON

SET CONCAT_NULL_YIELDS_NULL ON SET QUOTED_IDENTIFIER ON

SET NUMERIC_ROUNDABORT OFF

create unique clustered index ind_view1 on dbo.view1(¿Í»§±àºÅ,²úÆ·±àºÅ,¹ºÂòÈÕÆÚ)

2¡¢Ë÷ÒýµÄɾ³ý

ɾ³ýind_view1Ë÷Òý¡££» drop index view1.ind_view1

3¡¢Ä¬ÈÏÖµÔ¼ÊøµÄ¶¨Òå

¶Ô¿â´æÁ¿×Ö¶ÎÌí¼ÓĬÈÏֵΪ0µÄÔ¼Êødef_kcl¡£ alter table CP

add constraint def_kcl default 0 for ¿â´æÁ¿

4¡¢Ä¬ÈÏÖµÔ¼ÊøµÄɾ³ý ɾ³ýdef_kclĬÈÏÖµÔ¼Êø¡£ alter table CP

drop constraint def_kcl

5¡¢Ä¬ÈÏÖµ¶ÔÏóµÄ¶¨Ò塢ʹÓúÍɾ³ý

£¨1£©¶¨ÒåһֵΪ0µÄĬÈÏÖµ¶ÔÏókcl_def£¬²¢½«Æä°ó¶¨µ½CP±íµÄ¿â´æÁ¿×ֶΣ»È»ºóÔÙɾ³ý´ËĬÈÏÖµ¶ÔÏó£¬

ÇëÐðÊö¸Ã¹ý³Ì£¬²¢Ð´³öÏà¹ØSQLÓï¾ä¡£ create default kcl_def as 0

exec sp_bindefault 'kcl_def','CP.¿â´æÁ¿'

£¨2£© ÓÃSQLÃüÁÒåÒ»ÃûΪcityµÄÓû§×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬ÒªÇóchar(6)£¬NULL£¬ÔÙ¶¨ÒåһֵΪ¡°±±¾©¡±µÄĬÈÏÖµ¶ÔÏócity_def£¬

È»ºó½«city_defĬÈÏÖµ¶ÔÏó°ó¶¨µ½city×Ô¶¨ÒåÊý¾ÝÀàÐÍ£¬×îºóɾ³ýcity_defĬÈÏÖµ¶ÔÏó£¬ÇëÐðÊö¸Ã¹ý³Ì£¬²¢Ð´³öÏà¹ØSQLÓï¾ä¡£ sp_addtype 'city','char(6)','null'

create default city_def as '±±¾©' exec sp_bindefault 'city_def','city' exec sp_unbindefault 'city' drop default city_def

ʵÑéÊ®¶þ ¶ÔÓÚCPXSÊý¾Ý¿â£¬É¾³ýCP±í¡¢CPXSB±í¡¢XSS±íÉÏÒÑÓÐËùÓÐÔ¼Êø£º

1¡¢ÊµÌåÍêÕûÐÔµÄʵÏÖ

£¨1£©¶ÔCP±í¡¢CPXSB±í¡¢XSS±í£¬¶¨ÒåÖ÷¼üÔ¼Êø£¨ÓÃÆóÒµ¹ÜÀíÆ÷ºÍSQLÓï¾ä·Ö±ðʵÏÖ£¬Ð´³öÏàÓ¦¹ý³ÌºÍÓï¾ä£©¡£ alter table CP

add constraint cp_pk primary key (²úÆ·±àºÅ)

alter table CPXSB

add constraint cpxsb_pk primary key (²úÆ·±àºÅ,¿Í»§±àºÅ,ÏúÊÛÈÕÆÚ)

alter table XSS

add constraint xss_pk primary key (¿Í»§±àºÅ)

£¨2£©ÔÚCP±íµÄ²úÆ·Ãû³ÆÁж¨ÒåÒ»¸öÎ¨Ò»Ô¼Êø£¨ÓÃÆóÒµ¹ÜÀíÆ÷ºÍSQLÓï¾ä·Ö±ðʵÏÖ£¬Ð´³öÏàÓ¦¹ý³ÌºÍÓï¾ä£©¡£ alter table CP

add constraint ²úÆ·Ãû³Æ_uk unique (²úÆ·Ãû³Æ)

2¡¢²ÎÕÕÍêÕûÐÔµÄʵÏÖ

£¨1£©ÀûÓÃÆóÒµ¹ÜÀíÆ÷½¨Á¢CP±íÓëCPXSBÖ®¼äµÄ²ÎÕÕ¹ØÏµ£¬µ±¶ÔÖ÷±íCP±í½øÐиüкÍɾ³ý²Ù×÷ʱ£¬

´Ó±íCPXSB²ÉÓÃNO ACTION·½Ê½£¬Ð´³öÆä¹ý³Ì¡£

alter table CPXSB

add constraint CP_CPXSB_FK foreign key(²úÆ·±àºÅ) references CP(²úÆ·±àºÅ)

on delete no action on update no action

£¨2£©ÀûÓÃSQLÓï¾ä½¨Á¢CPXSBÓëXSS±íÖ®¼äµÄ²ÎÕÕ¹ØÏµ£¬µ±¶ÔÖ÷±íXSS±í½øÐиüкÍɾ³ý²Ù×÷ʱ£¬

´Ó±íCPXSB²ÉÓÃCASCADE£¨¼¶Áª£©·½Ê½£¬Ð´³öÆä¹ý³Ì¡£

alter table CPXSB

add constraint XSS_CPXSB_FK foreign key (¿Í»§±àºÅ) references XSS(¿Í»§±àºÅ) on delete cascade on update cascade

3¡¢ÓòÍêÕûÐÔµÄʵÏÖ

£¨1£©ÔÚCP±íµÄ¼Û¸ñÁÐÉ϶¨Òå´óÓÚµÈÓÚ0µÄ¼ì²é£¨CHECK£©Ô¼Êø¡£

alter table CP

add constraint ¼Û¸ñ_CK check (¼Û¸ñ>0)

£¨2£©¶¨ÒåÒ»¸ö´óÓÚµÈÓÚ0µÄ¹æÔòcheck_kcl£¬²¢½«Æä°ó¶¨µ½CP±íµÄ¿â´æÁ¿ÁУ¬È»ºó½â³ý°ó¶¨£¬É¾³ý¸Ã¹æÔò£¬Çëд³öÏà¹ØSQLÓï¾ä¡£ create rule check_kcl as @kcl>=0 sp_bindrule 'check_kcl','CP.¿â´æÁ¿' sp_unbindrule 'CP.¿â´æÁ¿' drop rule check_kcl

4¡¢×ÛºÏѵÁ·

´´½¨Ò»¸ö¡°Ñ§Éúµµ°¸¡±Êý¾Ý¿â£¬²¢ÓÃCREATE TABLEÔÚ¸ÃÊý¾Ý¿âÖд´½¨¡°ÈËÊ¡±±íºÍ¡°³É¼¨¡±Á½¸ö±í£¬

ÆäÖС°ÈËÊ¡±±í°üÀ¨Ñ§ºÅ¡¢ÐÕÃû¡¢ÐԱ𡢵绰ºÅÂë¡¢¼Òͥסַ×Ö¶Î×é³É¡£¡°³É¼¨¡±±í°üÀ¨Ñ§ºÅ¡¢Ñ¡Ð޿γÌÃû³Æ¡¢³É¼¨Èý¸ö×ֶΡ£

·Ö±ðÔÚ¡°ÈËÊ¡±±íµÄѧºÅ×Ö¶ÎÉèÖÃÖ÷¼üÔ¼Êø£¬ÔÚ¡°³É¼¨¡±±íµÄѧºÅ×Ö¶ÎÉèÖÃÍâ¼üÔ¼Êø£¬Ôڳɼ¨×Ö¶ÎÉèÖôóÓÚµÈÓÚ0СÓÚµÈÓÚ100µÄ¼ì²éÔ¼Êø£¬

ÔÚ¼Òͥסַ×Ö¶ÎÉèÖÃÎ©Ò»Ô¼Êø£¬ÔÚÐÔ±ð×Ö¶ÎÉèÖÃĬÈÏֵΪ¡°ÄС±¡£ create database ѧÉúµµ°¸ on (

name='ѧÉúµµ°¸_data',

filename='c:\\sql\\data\\ѧÉúµµ°¸_data.mdf' )

log on

(

name='ѧÉúµµ°¸_log',

filename='c:\\sql\\log\\ѧÉúµµ°¸_data.ldf' )

create table ÈËÊÂ (

ѧºÅ char(8) primary key, ÐÕÃû char(16),

ÐÔ±ð char(2) default 'ÄÐ', µç»°ºÅÂë char(12),

¼Òͥסַ char(50) unique )

create table ³É¼¨ (

ѧºÅ char(8) foreign key references ÈËÊÂ(ѧºÅ), Ñ¡Ð޿γÌÃû³Æ char(16),

³É¼¨ numeric(9) check(³É¼¨>=0 and ³É¼¨<=100) )

ʵÑéÊ®Èý

¶ÔÓÚCPXSÊý¾Ý¿â£¬´´½¨ÈçÏ´洢¹ý³Ì£º 1¡¢Î޲δ洢¹ý³Ì

±àдһÎ޲δ洢¹ý³ÌÓÃÓÚ²éѯÿ¸ö¿Í»§¹ºÂò²úÆ·µÄÇé¿ö£¨°üÀ¨¿Í»§±àºÅ¡¢²úÆ·±àºÅ¡¢¿Í»§Ãû³Æ¡¢²úÆ·Ãû³Æ¡¢¼Û¸ñ¡¢¹ºÂòÈÕÆÚ¡¢¹ºÂòÊýÁ¿£©£¬È»ºóµ÷Óøô洢¹ý³Ì¡£ create procedure gmqk as

select XSS.¿Í»§±àºÅ,¿Í»§Ãû³Æ,CP.²úÆ·±àºÅ,²úÆ·Ãû³Æ,¼Û¸ñ,ÏúÊÛÈÕÆÚ as '¹ºÂòÈÕÆÚ',ÊýÁ¿ as'¹ºÂòÊýÁ¿'

from CP,XSS,CPXSB

where CP.²úÆ·±àºÅ=CPXSB.²úÆ·±àºÅ and XSS.¿Í»§±àºÅ=CPXSB.¿Í»§±àºÅ

exec gmqk

2¡¢´øÓвÎÊýµÄ´æ´¢¹ý³Ì

±àдһ¼ÓÃÜ´æ´¢¹ý³Ì£¬²éѯָ¶¨¿Í»§¹ºÂò²úÆ·µÄÇé¿ö¡£²¢µ÷Óøô洢¹ý³Ì²éѯ¿Í»§±àºÅΪ¡°000002¡±µÄ¿Í»§¹ºÂòÇé¿ö¡£

create procedure gmqk1 @¿Í»§±àºÅ char(6) with encryption as