student表已经有了,“创建”在中间,测试在最下面!
select * from student;
sid sname sex age tel
s001 丰登儿 男 35 13527542451
s002 班克尔 女 17 13884233134
s003 车笔刀 女 13 15086623248
s004 趴耳朵 男 19 15323535256
s005 直角 女 23 15653579258
s006 扳手 女 19 13663279788
s007 俄石板 女 21 13656529396
- –创建一个存储过程,查询所有的学生信息
create procedure p1 as select * from student go
2‘–创建一个存储过程,根据学号查询学生信息
create procedure p2 @sid varchar(8) as select * from student where sid = @sid;
go
3’ –创建一个存储过程,根据年龄和性别查询学生信息
create procedure p3 @age int, @sex varchar(2) as select * from student where age = @age and sex = @sex;
go
4‘–根据学号输出该学生的电话号码
create procedure p4 @sid varchar(8), @tel varchar(16) output--特别注意“output” as select @tel = tel from student where sid = @sid
-下面我们来测试存储过程
1.execute p1;
结果为:
sid sname sex age tel
s001 丰登儿 男 35 13527542451
s002 班克尔 女 17 13884233134
s003 车笔刀 女 13 15086623248
s004 趴耳朵 男 19 15323535256
s005 直角 女 23 15653579258
s006 扳手 女 19 13663279788
s007 俄石板 女 21 13656529396
2.execute p2 's001'
结果如下:
s001 丰登儿 男 35 13527542451
3.execute p3 17, '女';
结果如下:
s002 班克尔 女 17 13884233134
4.特别注意“output”
declare @r varchar(16)
execute p4 's001',@r output--特别注意“output”
print @r;
运行结果如下:
13527542451
over~