经典触发器练习题

alter table 表alter column 要修改的字段 varchar(20) 修改字段的长度

alter table xueshengbiao add nl varchar(4) 增加nl字段

update 表名 set 列名=新值 where 列名=旧值 有条件的修改

delete from xueshengbiao where nl>=17 and nl<19 有条件的删除

insert into xueshengbiao(xuehao,aiaho,mz,nl,xm)values('003','pashan','','17','ww') 添加数据

select b.id,xm,kecheng from kcb a,xueshengbiao b where a.glxsid=b.xuehao 表与表关联的左右查询
1.创建存储过程P_1,功能是查询性别为男的学生的学号,姓名,性别。
create proc p_1
(
@xb char(2)
)
as
select 学号,姓名,性别from 学生where 性别=@xb
execute p_1 '男'
2.创建存储过程P_2,功能是查询指定学生的学号,姓名,性别和班级,姓名由参数传递。
create proc p_2
(
@xm char(8)
)
as
select 学号,姓名,性别from 学生where 姓名=@xm
execute p_2 '张三'
3.创建存储过程P_3,功能是查询某门课程的学生成绩,显示学号,姓名,课程名,成绩,并将成绩转换为等级分制。课程名由参数传递。
create proc p_3
(
@kcm char(20),
@cj int output
)
as
select 学生.学号,姓名,课程名,
case
when 成绩<60 then '不及格'
when 成绩>=60 and 成绩<70 then '及格'
when 成绩>=70 and 成绩<80 then '比较好'
when 成绩>=80 and 成绩<90 then '良好'
when 成绩>=90 then '优秀'
end as 成绩
from 学生,选课,课程where 选课.课程号=课程.课程号
and 学生.学号=选课.学号and 课程名=@kcm

declare @i int
execute p_3 计算机基础,@i output
print @i
4.创建存储过程P_4,功能是查询某门课程的总分和平均分,将返回参数。课程名由参数传递。
create proc p_5
(
@kcm char(20),
@zf int output,
@pjf int output
)
as
select sum(成绩),avg(成绩)from 选课,课程where 课程名=@kcm and 选课.课程号=课程.课程号
declare @z int,@p int
execute p_5 政治,@z output,@p output
print @z
print @p

5.创建触发器T_1,功能是当向数据表学生添加记录时,显示学生的信息。
create trigger T_1 on 学生
after insert
as select * from 学生
insert into 学生 values('3001','李四','男','计本10')

6.创建触发器T_2,功能是当向数据表班级添加、修改和删除记录时,显示学生的信息。
create trigger T_2 on 学生
after insert,update,delete
as select * from 学生

7.创建触发器T_3,功能是当修改班级班号,同步更新学生表的班号。

8.创建触发器T_4,功能是当删除学生表的记录时,同步删除选课表中的选课信息。

create trigger T_4 on 学生
after delete
as
declare @xh char(10)
select @xh=学号 from deleted
delete from 选课 where 学号=@xh

delete from 学生 where 学号='3002'
9.设置sql server的身份验证模式为windows登录,并登录到sql server的管理器。
10.建立登录用户user1,密

码为user1,并以user1身份登录到管理器,并查看是否允许建立数据库和访问数据库。
11.以sa登录,并建立登录用户user2,密码为user2,并设置建立数据库的角色,并以user2身份登录到管理器,并建立数据库book1。
12.建立jwxt数据库的数据库用户user1,并映射到user1登录用户。
13.建立jwxt数据库的数据库用户user2,并映射到user2登录用户。

14.将jwxt数据库的学生表的查询,添加和修改权限赋予给user1和user2。
grant select,insert,update on 学生 to user1,user2 with grant option
15.将添加和修改权限从user2用户中收回。
revoke insert,select on 学生 fron user2


相关文档
最新文档