sql server创建存储过程(有参,无参,有输出)

时间:2023-01-06 22:00:29

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
  1. –创建一个存储过程,查询所有的学生信息
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--特别注意“outputas 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~