create view
as
select * from 学生基本情况
where 性别='男'
go
显示“view1”的运行结果:
学号 姓名 性别 家庭住址 出生日期 入学成绩
10002 王琳 男 湖北省 1986-12-23 560
10004 王武 男 河南省郑州市 1987-5-5 680
20001 张飒 男 河南省濮阳市 1988-11-6 460
20003 刘大林 男 长沙市 1986-4-16 680
30003 韶华 男 长沙市 1987-5-4 560
30004 袁梦 男 河南省郑州市 1988-4-7 555
40001 校华 男 安徽省 1986-12-14 560
40004 李华 男 湖北省 1988-11-18 560
2.创建视图2
use 学生成绩管理系统
go
create view view2
as
select * from 计科系学生
where 专业名称='数据库'
go
显示“view2”的运行结果:
学号 姓名 班级名称 专业代码 专业名称 成绩
10002 王琳 软件073 0102 数据库 99
10004 王武 软件072 0102 数据库 90
存储过程是一种数据库对象,是为了实现某个特定任务,将一组预编译的sql语句以一个存储单元的形式
存储在服务器上,供用户调用。将编译好的代码保存在高速缓存中便于以后调用,这样可以提高代码的
执行效率。
3.存储过程
use 学生成绩管理系统
go
create proc xiao
as
select 专业代码,专业名称,专业.系部代码,系部名称 from 专业,院系
where 专业.系部代码=院系.系部代码
执行存储过程
use 学生成绩管理系统
go
exec xiao
go
执行存储过程“xiao”的结果:
专业代码 专业名称 系部代码 系部名称
0101 软件技术 01 计科系
0102 数据库 01 计科系
0103 C语言 01 计科系
0201 应用英语 02 外语系
0202 商务英语 02 外语系
0301 会计电算化 03 经贸系
0302 自动化 03 经贸系
0401 汽检 04 汽车系
0402 汽制 04 汽车系
修改存储过程“xiao”的内容:
use 学生成绩管理系统
go
alter proc xiao
as
select 专业代码,专业名称,专业.系部代码,系部名称 from 专业,院系
where 专业.系部代码=院系.系部代码 and 系部名称='计科系'
4.创建触发器“chu”。
use 学生成绩管理系统
go
create trigger chu on 专业
for insert
as
declare @aa char(4)
select @aa=专业代码
from 专业 insert wo
values(@aa,0)
go
查看触发器“chu”的信息内容:
use 学生成绩管理系统
go
exec sp_helptrigger 专业
go
执行的结果:
trigger_name trigger_owner idupdate isdelete isinsert isafter isinsteadof
chu dbo 0 0 1 1 0
删除“触发器”chu
use 学生成绩管理系统
go
drop trigger chu
go
5.显示“计科系学生”表中的“姓名”,“专业名称”,“成绩”字段,并且要求其对
应的"入学成绩>600"。
use 学生成绩管理系统
go
select 姓名,专业名称,成绩
from 计科系学生
where 学号 in
(select 学号 from 学生基本情况
where 入学成绩>'600')
go
查询的结果为:
姓名 专业名称 成绩
李小 软件技术 98
汪涵月 C语言 89
王武 数据库 90
6.将“学生基本情况”表中的出生日期按降序排列:
use 学生成绩管理系统
go
select * from 学生基本情况
order by 出生日期 desc
go
查询结果:
学号 姓名 性别 家庭住址 出生日期 入学成绩
40004 李华 男 湖北省 1988-11-18 00:00:00.000 560
30001 尹曼 女 安徽省 1988-11-16 00:00:00.000 710
20001 张飒 男 河南省濮阳市 1988-11-06 00:00:00.000 460
40002 薛杏花 女 吉林省长春市 1988-04-15 00:00:00.000 550
30004 袁梦 男 河南省郑州市 1988-04-07 00:00:00.000 555
10001 李小 女 河南省郑州市 1988-01-06 00:00:00.000 660
40003 李子娟 女 湖北省 1987-12-07 00:00:00.000 560
10004 王武 男 河南省郑州市 1987-05-05 00:00:00.000 680
30003 韶华 男 长沙市 1987-05-04 00:00:00.000 560
20002 李小璐 女 吉林省长春市 1987-04-08 00:00:00.000 690
10002 王琳 男 湖北省 1986-12-23 00:00:00.000 560
40001 校华 男 安徽省 1986-12-14 00:00:00.000 560
20003 刘大林 男 长沙市 1986-04-16 00:00:00.000 680
30002 肖月 女 河南省洛阳市 1986-04-09 00:00:00.000 660
10003 汪涵月 女 湖北省 1986-04-06 00:00:00.000 650
7.为“性别”字段创建规则,只能为“男”或“女”。
use 学生成绩管理系统
go
create rule xb_rule
as
@xb in('男','女')
go
exec sp_bindrule 'xb_rule','学生基本情况.性别'
go
8.为“学生基本情况”表中的入学成绩字段创建约束,要求入学成绩小于750.
use 学生成绩管理系统
go
alter table 学生基本情况
add constraint ck_cj
check(入学成绩<'750')
go