(13) ʹÓÃUNION²éѯ¡£
ÒªÇó£ºÀûÓÃSQLÓï¾ä·Ö±ð²éѯ¾ßÓиߡ¢Öм¶Ö°³ÆµÄÖ°¹¤ÐÕÃû£¬ºÏ²¢Êä³ö¡£
select P_name from person where Prof='Öм¶' union
select P_name from person where Prof='¸ß¼¶'
Èý¡¢ÊµÑé×ܽá
1£®ÔÚ²éѯµÄÓï¾äÖУ¬Èç¹ûÉæ¼°µ½µÄÊôÐÔÁжà¸ö±í¶¼ÓУ¬ÄÇÓ¦¸ÃÔõô´¦Àí£¿ ´ð£ºÓá®±íÃû.ÊôÐÔÁÐÃû¡¯À´Ö¸¶¨ÓÃÄĸöÁеÄÊý¾ÝÀ´Íê³É²Ù×÷¡£
2£®Èç¹û²éѯµÄÊý¾ÝÁÐûÓÐÁÐÃû£¬ÎªÁËÃ÷°×²éѯµÄÊý¾ÝÊÇʲôº¬Ò壬¿ÉÒÔÔõÑù´¦Àí£¿
´ð£º¿ÉÒÔÓá®Êý¾ÝÁÐÊý¾Ý Êý¾ÝÁÐÃû¡¯µÄ·½Ê½¸øÊý¾ÝÁи½ÉÏÁÐÃû¡£
3.д³öSQLÓïÑÔÍêÕûµÄ²éѯÓï¾ä£¬²¢±ê³öDBMSÖ´ÐеÄÏȺó˳Ðò¡£
´ð£ºÏÈÖ´ÐÐfromÓï¾ä£¬ÔÙÖ´ÐÐwhereÓï¾äµÄÖ´ÐÐÌõ¼þ£¬ÓÐgroup byµÄÖ´ÐзÖ×é²Ù×÷ºÍhavingÓï¾äÀïµÄ±í´ïʽ£¬×îºóÊä³öselectÀïÓеÄÊý¾ÝÁÐÀïµÄÊý¾Ý¡£
ʵÑéÎå Êý¾ÝÍêÕûÐÔÓë¹ÜÀí
Ò»¡¢ÊµÑéÄ¿µÄ
Àí½âÊý¾ÝÍêÕûÐÔµÄÒâÒ壻 ÕÆÎÕÊý¾Ý±¸·Ý·½·¨£» ÕÆÎÕÊý¾Ý¿â»Ö¸´·½·¨¡£
¶þ¡¢ÊµÑéÄÚÈÝ
£¨1£©Ñ§Éúʵ¼ù´´½¨¹æÔòµÄÓïÑÔʹÓã»
CREATE RULE sex_rule AS @sex IN('ÄÐ','Å®')--ÓÎÀë¹æÔò¡£
Sp_bindrule 'sex_rule','person.sex'--°ó¶¨¹æÔò--Òѽ«¹æÔò°ó¶¨µ½±íµÄÁС£
Sp_unbindrule 'person.sex'--½â³ý°ó¶¨¡£ DROP RULE sex_rule--ɾ³ý¹æÔò¡£
£¨2£©¶ÔÊý¾Ý¿âÖеÄÊý¾Ý½øÐиüС¢É¾³ý²Ù×÷£¬²âÊÔÊÇ·ñ»á³É¹¦£»Èç¹û²»³É¹¦£¬·ÖÎöÊý¾Ý¿â²Ù×÷ʧ°ÜµÄÔÒò£»
A. ²âÊÔ¶ÔÖ÷±í½øÐвåÈë¡¢¸üм°É¾³ý²Ù×÷ʱµÄÓ°Ïì¡£ ÒªÇó£º
¢Ù ±ídeptÖвåÈëÒ»ÐÐÊý¾Ý(¡®0004¡¯£¬¡®Ñз¢²¿¡¯)£¬²âÊÔÊÇ·ñÓ°Ïì´Ó±í¡£
insert
into dept (Deptno,Dname) values ('0004','Ñз¢²¿')
//²»Ó°Ï죬²åÈë³É¹¦£¬ÒòΪÊÇвåÈëµÄÒ»ÐÐÊý¾Ý£¬ËùÒÔ¶Ô´Ó±í²»ÊÜÓ°Ïì ¢Ú ±ídeptÖеIJ¿ÃźÅ0003¸ÄΪ0006£¬²âÊÔÊÇ·ñÓ°Ïì´Ó±í¡£
update dept set Deptno='0006' where Deptno='0003'
//Ó°Ï죬²»³É¹¦£¬person±íÖÐÓв¿ÃźÅÕâ¸öÊôÐÔ£¬ËùÒÔ»áÊܵ½Ç£ÖÆ£¬ÐèÏȸıädept±íÖеÄÊý¾Ý¡£
ÏÔʾ£ºUPDATE Óï¾äÓëREFERENCE Ô¼Êø\³åÍ»¡£¸Ã³åÍ»·¢ÉúÓÚÊý¾Ý¿â\£¬±í
\¡£ Óï¾äÒÑÖÕÖ¹¡£
¢Ûɾ³ý±ídeptÖв¿ÃźÅΪ0001µÄÔ±¹¤Êý¾Ý£¬²âÊÔÊÇ·ñÓ°Ïì´Ó±í¡£
delete from dept
where Deptno='0001'
//Ó°Ï죬²»³É¹¦£¬person±íÖÐÓв¿ÃźÅÕâ¸öÊôÐÔ£¬ËùÒÔ»áÊܵ½Ç£ÖÆ£¬ÐèÏȸıädept±íÖеÄÊý¾Ý¡£
ÏÔʾ£ºDELETE Óï¾äÓëREFERENCE Ô¼Êø\³åÍ»¡£¸Ã³åÍ»·¢ÉúÓÚÊý¾Ý¿â\£¬±í
\¡£ Óï¾äÒÑÖÕÖ¹¡£
B. ²âÊÔ¶Ô´Ó±í½øÐвåÈë¡¢¸üм°É¾³ý²Ù×÷ʱµÄÓ°Ïì¡£ ÒªÇó£º
¢Ù ±ípersonÖвåÈëÒ»ÐÐÊý¾Ý(¡®000012¡¯£¬¡®ËÎÈ«Àñ¡¯£¬¡®ÄС¯£¬¡®1980-7-17¡¯£¬¡®³õ¼¶¡¯£¬¡®0005¡¯)£¬²âÊÔÊÇ·ñÎ¥±³²ÎÕÕÍêÕûÐÔ¡£
insert
into person (P_no,P_name,Sex,BirthDate,Prof,Deptno) values ('000012','ËÎÈ«Àñ','ÄÐ',1980-7-17,'³õ¼¶','0005')
//Ó°Ï죬²»³É¹¦£¬dept±íÖÐÓв¿ÃźÅÕâ¸öÊôÐÔ£¬ÎªÍâÂ룬ËùÒÔ»áÊܵ½Ç£ÖÆ£¬ÐèÏÈ´¦Àídept±í
ÏÔʾ£ºINSERT Óï¾äÓëFOREIGN KEY Ô¼Êø\³åÍ»¡£¸Ã³åÍ»·¢ÉúÓÚÊý¾Ý¿â\£¬±í
\¡£ Óï¾äÒÑÖÕÖ¹¡£
¢Ú½«±ípersonÖй¤ºÅΪ000002µÄÔ±¹¤ËùÔÚ²¿ÃŸüÐÂΪ0005£¬²âÊÔÊÇ·ñÎ¥±³²ÎÕÕÍêÕûÐÔ¡£
update person set Deptno='0005' where P_no='000002'
//Ó°Ï죬²»³É¹¦£¬dept±íÖÐÓв¿ÃźÅÕâ¸öÊôÐÔ£¬ÎªÍâÂ룬ËùÒÔ»áÊܵ½Ç£ÖÆ£¬ÐèÏÈ´¦Àídept±í
ÏÔʾ£ºUPDATE Óï¾äÓëFOREIGN KEY Ô¼Êø\³åÍ»¡£¸Ã³åÍ»·¢ÉúÓÚÊý¾Ý¿â\£¬±í
\¡£ Óï¾äÒÑÖÕÖ¹¡£
¢Ûɾ³ý±ípersonÖй¤ºÅΪ000005µÄÔ±¹¤Êý¾Ý£¬²âÊÔÊÇ·ñÎ¥±³²ÎÕÕÍêÕûÐÔ¡£
delete from person
where P_no='000005'
//Ó°Ï죬²»³É¹¦£¬dept±íÖÐÓв¿ÃźÅÕâ¸öÊôÐÔ£¬ÎªÍâÂ룬ËùÒÔ»áÊܵ½Ç£ÖÆ£¬ÐèÏÈ´¦Àídept±í
ÏÔʾ£ºDELETE Óï¾äÓëREFERENCE Ô¼Êø\³åÍ»¡£¸Ã³åÍ»·¢ÉúÓÚÊý¾Ý¿â\£¬±í
\¡£ Óï¾äÒÑÖÕÖ¹¡£
£¨3£©Êý¾Ý±¸·ÝºÍ»Ö¸´²Ù×÷¡£
Èý¡¢ÊµÑé×ܽá
1£®Êý¾Ý¿âµÄÍêÕûÐÔ°üº¬ÄÄЩÍêÕûÐÔÔ¼Êø£¿ÔÚSQLÓïÑÔÀïÃæ·Ö±ðÊÇÓÃÄÄЩ¹Ø¼ü´ÊʵÏֵģ¿
´ð£ºÓòÍêÕûÐÔ£ºÊµÏÖÓòÍêÕûÐÔ¿ÉÒÔͨ¹ý£ººË²éÔ¼Êø?checkÔ¼Êø?¡¢Íâ¼üÔ¼Êø
?foreign keyÔ¼Êø?¡¢Ä¬ÈÏÖµÔ¼Êø?defaultÔ¼Êø?¡¢·Ç¿ÕÔ¼Êø?not nullÔ¼Êø?µÈÀ´ÊµÊ©¡£
ʵÌåÍêÕûÐÔ£ºÁеÄIdentityÊôÐÔ¡¢Ö÷¼üÔ¼Êø?primany keyÔ¼Êø?¡¢Î©Ò»ÐÔÔ¼Êø?uniqueÔ¼Êø?µÈÀ´ÊµÏÖ¡£
²ÎÕÕÍêÕûÐÔ£º¿ÉÒÔͨ¹ý?Íâ¼üÔ¼Êø?¡¢?´¥·¢Æ÷?¡¢?´æ´¢¹ý³Ì?µÈÀ´ÊµÊ©¡£ 2£®Êý¾Ý¿â±¸·ÝÓÐʲôºÃ´¦£¿
´ð£ºÈç²Ù×÷ʧÎó»òÊý¾Ý¶ªÊ§£¬¿É»Øµ½Ö®Ç°µÄÊý¾Ý״̬¡£