一、存储过程练习题
1、根据玩家姓名,显示该玩家玩过哪些公司的游戏
2、根据战绩的关键字(比如’第一名’)查询玩家所属的省份。
二、触发器练习题
1、PlayGame表的插入触发器:功能是如果新插入的记录的PlayerID和GameID在PlayGame表中已经存在,则提示不能插入,事务回滚取消插入操作;否则,则可以成功插入,并将对应的Game表中的PlayCount玩家人数增加1人。
2、创建Player_Log日志表。字段如下
Plary_Log(SerialNumber, PlayerID_OLD,PlayerName_OLD,Gender_OLD, Province_OLD,PlayerID_NEW,PlayerName_NEW,Gender_NEW, Province_NEW,OperateType,OperateTime,Operator)
3、分别创建Player表的insert触发器、delete触发器、update触发器,实现Player_log表的增加、更新、删除日志功能
。
三、数据导入和导出练习题
1、将Game表的数据导出为game.xls的Excel文件。
2、将Player表中重庆籍的玩家数据导出为Chongqing.txt的文本文件。
3、将所有数据表的数据导出到名字为gameDB.mdb的Access数据库中。
4、新建一个数据库newGameDB。
5、将game.xls中的数据导入到newGameDB中,对应的表名为Game。
6、将Chongqing.txt中的数据导入newGameDB中,对应的表名为Player。
7、分离GameDB数据库,将数据文件和日志拷贝到d:\data目录下。
8、将d:\data目录下的数据文件和日志文件附加到SQL Server2008中。
创建一个商品数据库
第一个表商品表,编号,名称,单价,
第二个表顾客表,编号,类别(普通,白金,钻石),姓名,地址,
第三个购物表,编号,流水号(自增),顾客编号,个数,购物时间,商品编号,数量
1、在顾客表中创建触发器,其功能,当用户修改顾客的编号时,就提示顾客的编号非常重要不可修改
2、在商品上创建触发器,当用户修改商品编号时,购物表的商品编号自动发生更改
3、在购物表中创建替代触发器,当我们向购物表中插入数据时,则启动替代触发器
4、对顾客表,用触发器实现日志(日志表,流水号,老的顾客编号,老的顾客姓名,老的顾客姓名,,,新的,,,操作的类别,操作的时间)
--在account表中创建insert触发器
go
create trigger TR_ACCount_insert
on Account for insert
as
declare @newAccountid nchar(20),
@newAccountName nvarchar(20),
@newSalary decimal(10,2)
select @newAccountid=Accountid,
@newAccountName=AccountName,
@newSalary=Salary from inserted
--写日志
insert into Account_log//日志表名
(
Accountid_new,AccountName_new,Salary_new,
OperateType,OperateTime,Operator
)
values
(@newAccountid,@newAccountName,@newSalary,'添加',
getdate//服务器的系统时间,'Admin')
go