- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五 存储过程和触发器的定义和使用
实验内容:
1.在学生成绩数据库中建立表,并相应的导入数据
create database 学生成绩
use 学生成绩
create table student(学号 char(6) not null,
姓名 char(8) not null,
性别 bit not null,
出生日期 smalldatetime,
专业名 char(10),
所在系 char(10),
联系电话 char(11) null)
create table course(课程号 char(3) not null,
课程名 char(20) not null,
教师 char(10),
开课学期 tinyint,
学时 tinyint,
学分 tinyint not null)
create table sc(学号 char(6) not null,
课程号 char(3) not null,
成绩 smallint)
2.
(1)全局变量
(2)if语句
①
②
(3)循环语句
①
declare @i int,@sum int,@count int
set @i=1
set @sum=0
set @count=0
while (@i100)
begin
if(@i%3=0)
begin
set @sum=@sum+@i
set @count=@count+1
end
set @i=@i+1
end
print 总和为:+ convert(varchar(10),@sum)
print 个数为:+ convert(varchar(10),@count)
②
declare @i1 int,@s1 int
set @i1=1
set @s1=0
beg:
if(@i1=5)
begin
set @s1=@s1+@i1
set @i1=@i1+1
goto beg
end
print @s1
(4)waitfor 语句
①
waitfor delay 00:00:05
select *
from student
go
②
waitfor time 10:20
exec update_all_stats
(5)case语句
①select 学号,
性别 =
case 性别
when 1 then 男
when 0 then 女
end
from student
go
②select 学号,
成绩=
case
when 成绩 IS NULL then 未考
when 成绩 60 then 不及格
when 成绩 =60 and 成绩 70 then 及格
when 成绩 =70 and 成绩 90then 良好
when 成绩 =90 then 优秀
end
from sc
3.存储过程
(1)create proc proc1
as
select 学号,课程号
from sc
where 成绩 between 60 and 80
go
exec proc1
(2)
①create proc proc21(@学号 char(10))
as
delete 成绩
from sc
where 学号=@学号
go
②create proc proc22 (@学号 char(6),@课程号 char(3),@成绩 smallint)
as
insert into sc
values(@学号,@课程号,@成绩)
go
(3)create proc proc3
(@学号 char(6),@课程号 char(3),@成绩 smallint output)
as
select @成绩=成绩
from sc
where 学号=@学号 and 课程号=@课程号
go
declare @成绩 smallint
exec proc3 020101,101,@成绩 output select 成绩=@成绩
(4)
create proc proc_t1(@专业名称 char(10))
as
select 专业名,student.学号,姓名,course.课程号,course.课程名,成绩,学分
from student,sc,course
where 专业名=@专业名称 and student.学号=sc.学号 and sc.课程号=course.课程号
go
exec proc_t1 信息管理
go
(5)
alter proc proc_t1 (@专业名称 char(10))
as
select 专业名,stude
文档评论(0)