1. 程式人生 > >sql server建立儲存過程(有參,無參,有輸出)

sql server建立儲存過程(有參,無參,有輸出)

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~