??这样不就是吗
create procedure SearchPerson 
(
  @PSID int
)
as
select Namech ,SEX from   PS_Employees where ID_EDULEVEL = @PSID
go

解决方案 »

  1.   

    這樣只得一條記錄而以。

    select  Namech, SEX from   PS_Employees where ID_EDULEVEL =57
    卻有300多條。
      

  2.   

    我是说下面的:create procedure SearchPerson 
    (
      @PSID int
    )
    as
    select Namech ,SEX from   PS_Employees where ID_EDULEVEL = @PSID
    go
      

  3.   

    返回一个记录集,没有问题的。
    create table yourtable(a int, b int)
    go
    insert into yourtable
    select 1, 2
    union
    select 2, 4
    union
    select 3, 5
    gocreate proc usp_MulitiValues
       @psid int
    as
       select a, b, from yourtable where a >= 2 
       return
    go/*结果集
    a        b
    ------   -------
    2        4
    3        5
    */
      

  4.   

    ft! 这个例子不需要参数。//blush
      

  5.   

    那你就返回记录集sql中没有数组,怎么可能用一个变量返回多个记录的值?
      

  6.   

    bein9(白痴) 的就是返回记录集嘛.
      

  7.   

    --存储过程
    create procedure SearchPerson 
    @PSID int
    as
    select Namech ,SEX from   PS_Employees where ID_EDULEVEL = @PSID
    go--直接调用
    exec SearchPerson  57--循环读取返回的结果集
    declare @Name varchar(32)
    declare @Sex varchar(2)create table #t(Namech varchar(32),Sex varchar(2))
    insert #t exec SearchPerson  57declare tb cursor local for
    select * from #topen tb
    fetch tb into @Name,@Sex
    while @@fetch_status=0
    begin
    Select '姓名'= @Name ,'性別' = @Sex
    fetch tb into @Name,@Sex
    end
    close tb
    deallocate tb
    drop table #t