ALTER   PROCEDURE kp
@fp  varchar(20)
AS
create TABLE #t(fpbh varchar(10) null,
nbxh int null)  declare @fpbh varchar(10),
@nbxh int  insert into #t(fpbh,nbxh) SELECT fpbh,nbxh
from ykfpsp
where ykfpsp.fpbh = @fpselect fpbh,nbxh from #tdrop table #t

解决方案 »

  1.   

    这个存储过程是什么意思?
    不太懂,好像一句就可以,
    SELECT fpbh,nbxh
    from ykfpsp
    where ykfpsp.fpbh = @fp
      

  2.   

    ALTER   PROCEDURE kp
    @fp  varchar(20)
    AS
    create TABLE #t(fpbh varchar(10) null,
    nbxh int null)  declare @fpbh varchar(10),
    @nbxh int if EXIST (select fpbh,nbxh from ykfpsp where ykfpsp.fpbh=@fp)
                   return 0
             else
                 begin
                  select @fpbh=fpbh,@nbxh=nbxh
    from ykfpsp
    where ykfpsp.fpbh = @fp

         insert into #t(fpbh,nbxh) SELECT @fpbh,@nbxh
    from ykfpsp
    where ykfpsp.fpbh = @fp
                 end
    select @fpbh,@nbxh from #tdrop table #t
      

  3.   

    若只有这些,临时表都没必要:
    ALTER   PROCEDURE kp
    @fp  varchar(20)
    AS
    SELECT fpbh,nbxh
      from ykfpsp
      where fpbh = @fp
      

  4.   

    不知道你到底想要做什么,如果只想要往表里插入纪录,根本不用定义那两个变量,直接这样就行了。
    insert into #t 
    select  fpbh,nbxh
    from ykfpsp
    where ykfpsp.fpbh = @fp