【正文】
39。 and type=39。p39。)beginprint 39。已刪除!39。 drop procedure stu_proc1 end elseprint 39。不存在,可創(chuàng)建!39。 go create procedure stu_proc1 @Sdept char(8)=39。%39。,@Sname varchar(8)=39。林%39。 as select Sdept,Sname,DATEDIFF(YEAR,Birth,GETDATE())age,Cname,Grade from Student_20103322,SC_20103322,Course_20103322 where = and = and Sdept like @Sdept and Sname like @Snameexecute stu_proc1 39。計(jì)算機(jī)系39。,39。林紅39。 3execute stu_proc1 39。信息安全39。,39。胡光璟39。(2)創(chuàng)建一個(gè)名為Student_sc的存儲(chǔ)過程,可查詢出某段學(xué)號(hào)的同學(xué)的學(xué)號(hào)、姓名、總成績(jī)。(學(xué)號(hào)起始號(hào)與終止號(hào)在調(diào)用時(shí)輸入,可設(shè)默認(rèn)值)。執(zhí)行該存儲(chǔ)過程。if exists(select name from sysobjects where name=39。Student_sc39。and type=39。p39。)begin print 39。已刪除!39。 drop procedure student_sc end else print 39。不存在,可創(chuàng)建!39。 go create procedure Student_sc @Sno1 char(8),@Sno2 char(8)as select ,Sname,SUM(Grade)總成績(jī) from Student_20103322,SC_20103322,Course_20103322 where = and = and =@Sno1 and execute Student_sc 39。2011000039。,39。2011000339。 5創(chuàng)建帶輸出參數(shù)的存儲(chǔ)過程(1)創(chuàng)建一個(gè)名為Course_sum的存儲(chǔ)過程,可查詢某門課程考試的總成績(jī)。總成績(jī)可以輸出,以便進(jìn)一步調(diào)用。if exists(select name from sysobjects where name=39。Course_sum39。and type=39。p39。)begin print 39。已刪除!39。 drop procedure Course_sum end else print 39。不存在,可創(chuàng)建!39。 go create procedure Course_sum @Cname varchar(20),@sum int output as select @sum=sum(Grade)from SC_20103322,Course_20103322 where = and Cname=@Cnamegroup by ,Cnamedeclare @ping int exec Course_sum 39。高數(shù)39。,@ping output print 39。高數(shù)的考試總成績(jī)?yōu)椋?9。+cast(@ping as varchar(20))(2)創(chuàng)建一執(zhí)行該存儲(chǔ)過程的批處理,要求當(dāng)總成績(jī)小于100時(shí),顯示信息為:“XX課程的總成績(jī)?yōu)椋篨X,其總分未達(dá)100分”。超過100時(shí),顯示信息為:“XX課程的總成績(jī)?yōu)椋篨X”。declare @sum intdeclare @Cname varchar(20)Exec Course_sum @ame,@sum out beginif @sum elseprint cast(@ame as varchar)+39。課程的總成績(jī)?yōu)?39。+cast(@sum as varchar)enddeclare @sum intdeclare @Cname varchar(20)set @Cname=39。高數(shù)39。 Exec Course_sum @ame,@sum out beginif @sum elseprint cast(@ame as varchar)+39。課程的總成績(jī)?yōu)?39。+cast(@sum as varchar)end創(chuàng)建帶重編譯及加密選項(xiàng)的存儲(chǔ)過程創(chuàng)建一個(gè)名為update_sc、并帶重編譯及加密選項(xiàng)的存儲(chǔ)過程,可更新指定學(xué)號(hào)、指定課程號(hào)的學(xué)生的課程成績(jī)。(學(xué)號(hào)、課程號(hào)由調(diào)用時(shí)輸入)if exists(select name from sysobjects where name=39。update_sc39。and type=39。p39。)begin print 39。已刪除!39。 drop procedure update_sc end else print 39。不存在,可創(chuàng)建!39。 go create procedure update_sc@sno char(8),@o char(3),@grade tinyint with RECOMPILE , ENCRYPTION as update SC_20103322 set Grade=@gradewhere Sno=@sno and Cno=@odeclare @sno char(8),@o char(3),@grade tinyint set @sno=39。2010332239。 set @o=39。00339。 set @grade=39。10039。 exec update_sc @sno,@o,@grade be