文档库 最新最全的文档下载
当前位置:文档库 › 数据库任务7及答案

数据库任务7及答案

1..创建一个名为p_TeacherByPara的存储过程,该存储过程根据给定的课程编码,显示任课教师的姓名。
use xk
go
CREATE PROCEDURE p_TeacherByPara
@couno nvarchar(3)
AS
SELECT teacher FROM course WHERE couno=@couno
GO

执行:
use xk
go
EXEC p_TeacherByPara @couno='003'
GO

2.创建一个名为p_StuByPara的存储过程,根据给定的班级编码和学生学号,显示相应学生的信息
use xk
go
CREATE PROCEDURE p_StudentPara
@ClassNo nvarchar(8),@stuno nvarchar(8)
AS
SELECT * FROM Student WHERE ClassNo=@ClassNo and stuno=@stuno

执行:
EXEC p_StudentPara @stuno='00000005',@ClassNo='20000001'
GO

或:
EXEC p_StudentPara '20000001','00000005'
GO

3.创建存储过程Cou_credit,要求能根据用户给定的学分值,统计满足该学分值的课程数目,并把它返回给调用程序。


CREATE PROCEDURE Cou_credit
@credit decimal (3,1),@couNum smallint OUTPUT
AS
SET @couNum= (SELECT COUNT(*) FROM course WHERE credit=@credit )
GO

执行:
use xk
go
DECLARE @credit decimal (3),@couNum smallint
SET @credit=2.0
EXEC Cou_credit @credit,@couNum OUTPUT
print convert(char(3),@credit)+'学分的课程有 '+convert(char(3),@couNum)+'门'
GO

4.创建名为mod_credit的存储过程,能修改用户指定课程号的课程学分值,修改值也由用户指定。


CREATE PROCEDURE mod_credit
@CouNo nvarchar (3),@credit decimal(3,1)
AS
update course
set credit=@credit
where couno=@CouNo
GO

执行:
EXEC mod_credit @couno='001',@credit='3'
GO

5. 编写过程,用户可查询任意课程名的报名人数,并把它返回给用户。用户调用该过程(分别用两门课程“世界旅游”和“智能建筑”测试),如报名人数大于25,则显示:“XX课程可以开班”,否则显示:“抱歉,XX课程不能开班”。

create procedure couname_willnum @couname char(30)
as
declare @willnum int
set @willnum=(select willnum from course where couname=@couname)
if @willnum>25
print (@couname)+'课程可以开班'
else
print rtrim(@couname)+'课程不可以开班'
go

执行:
use xk
go
declare @couname char(30)
set @couname ='JAVA技术的开发应用'
exec couname_willnum @couname
go

或:
use xk
go
declare @couname char(30)
set @couname ='智能建筑'
exec couname_willnum @couname
go










相关文档
相关文档 最新文档