½ÌÊÒ¹ÜÀíÐÅϢϵͳÊý¾Ý¿âµÄÉè¼Æ ÏÂÔØ±¾ÎÄ

07ÐŹÜרҵ072°àÊý¾Ý¿âϵͳ¸ÅÂۿγÌÉè¼ÆÂÛÎÄ

FOR UPDATE AS BEGIN

INSERT INTO ADJUSTRECORD(CNo,RoomNo,TNo, WeekNo,Weekday,SectionNo,NewWeekNo, NewWeekday,NewSectionNo,NewRoomNo) SELECT

DELETED.CNo,DELETED.RoomNo,DELETED.TNo,DELETED.WeekNo,DELETED.Weekday, DELETED.SectionNo,INSERTED.WeekNo,INSERTED.Weekday,INSERTED.SectionNo, INSERTED.RoomNo

FROM DELETED JOIN INSERTED ON INSERTED.CNo=DELETED.CNo; END

¸½3-3 ½Ìʦµ÷¿ÎÊÂÎñ´¦Àí

¿ÉÒÔ¿´µ½µ÷¿Î¼Ç¼ÖÐ×Ô¶¯Éú³ÉÁ˵÷¿ÎµÄ¼Ç¼£¬°üº¬µ÷¿Îǰºó¿Î³Ì½ÌÊÒµÄÐÅÏ¢¡£

5¡¢ ÐÞ¸ÄѧÉúµÄ³öÇÚ´ÎÊý

/* ÐÞ¸ÄѧÉúµÄ³öÇÚ´ÎÊý */

CREATE PROCEDURE CHANGEATTENDENCE(@SNo CHAR(8),@CNo CHAR(4)) AS

IF NOT EXISTS(SELECT *FROM ATTENDENCE WHERE SNo=@SNo AND CNo=@CNo) INSERT INTO ATTENDENCE VALUES(@SNo,@CNo,1); ELSE

UPDATE ATTENDENCE

SET AttendSum=AttendSum+1

WHERE SNo=@SNo AND CNo=@CNo

EXEC CHANGEATTENDENCE '20080004','0001';

6¡¢ ´¦Àí²éѯÊÂÎñµÄ²¿·Ö´æ´¢¹ý³ÌµÄ½¨Á¢ÓëÑéÖ¤¡£

/*²éѯij°à¼¶ÉÏ¿ÎÓ¦µ½ÈËÊý*/

CREATE PROCEDURE SearchNumofPerson(@Pname CHAR(20)) AS

SELECT Cname,SUM(StuNum) AS Ó¦µ½ÈËÊý FROM COURSE

WHERE Pname=@Pname GROUP BY Cname

/* ´´½¨²éѯ¿Õ½ÌÊҵĴ洢¹ý³Ì*/

30

07ÐŹÜרҵ072°àÊý¾Ý¿âϵͳ¸ÅÂۿγÌÉè¼ÆÂÛÎÄ

CREATE PROCEDURE SearchEmptyClassroom(@WeekNO char(10), @Weekday char(10),@SectionNo char(10)) AS

SELECT RoomNo,Roomname,Buildname,Campusname,RemainCapacity FROM CLASSROOM

WHERE IsUsable='¿ÉÓÃ' AND RoomNo NOT IN (

SELECT RoomNo

FROM CURRICULUM

WHERE WeekNo=@WeekNO AND Weekday=@Weekday AND SectionNo=@SectionNo )

¸½3-4 ²éѯ¿Õ½ÌÊÒ½á¹û

/*²éѯ°à¼¶¿Î³Ì±í*/

CREATE PROCEDURE SearchCurrivulum(@pname CHAR(20),@classNo CHAR(4)) AS BEGIN

SELECT WeekNo,Weekday,SectionNo,Pname,ClassNo,

KECHENGBIAO.Tname,Roomname,KECHENGBIAO.Cname FROM KECHENGBIAO,COURSE

WHERE KECHENGBIAO.Cname=Course.Cname

AND Pname=@pname AND COURSE.ClassNo=@classNo END

¸½3-5 °à¼¶¿Î³Ì±í²éѯÊÂÎñ´¦Àí

31