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