求助,2个存储过程题,求答案

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:55:55
1.创建一个存储过程P1,要求执行改存储过程能够返回考生数据表(tblkaosheng)
中bmdwdm(报名单位代码)为100,130,500,830,2920,2490的考生的zkzh(准考证号)、
(xm)姓名和kscj(考试成绩)结果集,并且该结果集要按照bmdwdm(报名单位代码)
和准考证号升序排列
use dbwsbm
go
create procedure p1
(@bmdwdm int output,
@zkzh char(12) output,
@xm varchar(20) output,
@kscj numeric(6,1) output)
as
select @bmdwdm=bmdwdm,@zkzh=zkzh,@xm=xm,@kscj=kscj
from tblkaosheng tb
where tb.bmdwdm in (100,130,500,830,2920,2490)
order by bmdwdm,kscj asc
go
declare @bmdwdm int
declare @zkzh char(12)
declare @xm varchar(20)
declare @kscj numeric(6,1)
execute p1
@bmdwdm output,@zkzh output,@xm output,@kscj output
select bmdwdm=@bmdwdm,zkzh=@zkzh,xm=@xm,kscj=@kscj

2.创建一个存储过程P2,要求执行改存储过程能够返回考生数据表(tblkaosheng)中所有
“米”姓考生的xm(姓名)、lxdh(联系电话)结果集。

第1个题帮看看哪里出错了啊,只能显示1个人的信息 改怎么改啊
第2题老大们帮做做哈谢谢了

create proc p1
as
select zkzh,xm,kscj
from tblkaosheng
where bmdwdm in (100,130,500,830,2920,2490)
order by bmdwdm zkzh
不要用变量,多此一举,而且你结果集本应该是很多行,就不能用变量,否则只能返回结果集中的最后一行
直接exec p1就能得到结果
create proc p2
as
select xm,lxdh from tblkaosheng where xm like '米%'