1、创建一个名为score_sc的触发器,要求输入的成绩必须在0到100之间
create trigger score_sc --trigger触发器的标志,名字为score_sc的触发器
on sc --作用在sc表之上
for insert,update --操作范围是插入和更新
as declare @score int --declare用于声明变量
@score声明的变量,int为声明类型 begin --每一个begin要对应一个end否则会报错,本触发器三个begin和三个end
select @score = grade from inserted --声明变量等于grade,inserted为查如何更新的标志符
if @score not between 0 and 100 --触发器的条件
begin rollback --回滚
print '成绩输入不合法,请重新输入'
end
else
begin print '操作成功!'
end
end
2、创建一个存储过程根据课程名查询选修这门课的人数
create proc ssc_3 --procedure为存储过程的标志,ssc_3为存储过程的名字
@cnumber char(20),@ccount int output --声明一个变量@cname 类型char,变量@ccount,类型为int,output为输出
as --char的长度如果不够的话查询出来的结果会是0
select @ccount=count(*) from sc,course
where sc.cno=course.cno and --为声明的变量赋值 go
以下语句执行创建的存储过程,下面三个语句要一起执行,否则无法得到结果
declare @ccount int
exec ssc_3 '数据库',@ccount output --exec为执行的标识符,ssc_6为存储过程的名字,数据库为变量@ccount的值
select '选修人数是:',@ccount