1.使用waitfor语句表示等待一分钟后,显示sex表中的信息。
waitfor delay '00:01:00' select * from sex;
2.使用waitfor语句表示在13:49:40时间,显示student表中的信息。
waitfor time '13:49:40' select * from student;
3.基本存储过程,不带参数。
create procedure pro_first as select * from student;
4.两种存储过程的执行方式。
execute pro_first; exec pro_first;
5.带参数的存储过程及运行方式,查询操作。
create procedure pro_second @sex int as select * from student where ssex=@sex; exec pro_second @sex=1;
6.带参数的存储过程及运行方式,插入操作。
if exists(select name from sysobjects where name='pro_third') drop procedure pro_third go create procedure pro_third @sno int,@sname varchar(10),@ssex int,@sbirth datetime,@sstate int as insert into student values(@sno,@sname,@ssex,@sbirth,@sstate); exec pro_third 66,'name',1,'19870810',0;
7.带默认参数的存储过程,及三种执行过程,当参数值缺省的时候,用默认参数。
if exists(select name from sysobjects where name='pro_fourth') drop procedure pro_fourth go create procedure pro_fourth @ssex int=1,@sstate int=0 as select s.sno,s.sname,sex.sexname,c.cname,g.scgrade from student s,sex,course c,grade g where s.sno=g.sno and c.cno=g.cno and s.ssex=sex.sexno and s.ssex=@ssex and sstate=@sstate; exec pro_fourth; exec pro_fourth @ssex=2; exec pro_fourth @ssex=3,@sstate=1;
8.带输出参数的存储过程,及执行过程。
运行带输出参数的存数过程,必须预先声明一个变量以存储输出的值,变量的数据类型应该同输出参数的数据类型相匹配。
if exists(select name from sysobjects where name='pro_fifth') drop procedure pro_fifth go create procedure pro_fifth @sno int ,@avg int output as select @avg=avg(scgrade) from student left join grade on student.sno=grade.sno where student.sno=@sno group by student.sno,student.sname; declare @result int exec pro_fifth 1,@result output print '平均成绩为'+cast(@result as varchar(20));