@obh INT OUTPUT AS BEGIN
    select @bh1 = max(bh) from staff1 where dwid = @iid;
    select @bh2 = max(bh) from staff2  where dwid = @iid;
if (@bh1 > @bh 2 )
  @obh = @bh1
else
  @obh = @ bh2sql2000的存储过程语法检查老过不去,应该是if处写的有问题,请教怎样修改,谢谢

解决方案 »

  1.   

    if (@bh1 > @bh 2 )--为什么括号是全角的?
      @obh = @bh1
    else
      @obh = @ bh2
      

  2.   

    begin 和end 都加过,不行
      

  3.   


      select @bh1 = max(bh) from staff1 where dwid = @iid;
      select @bh2 = max(bh) from staff2 where dwid = @iid;
    SQLServer2000不支持分号结尾语句吧。把分号去掉试试。
      

  4.   

    if (@bh1 > @bh 2 )@bh 2 有空格
      

  5.   


    CREATE PROCEDURE MyBH
        @id INT,
        @bh1 int,
        @bh2 int,
        @obh INT OUTPUT AS BEGIN
        select @bh1 = max(bh) from staff1 where id = @id;
        select @bh2 = max(bh) from staff2  where id = @id;
    if(@bh1 > @bh2) 
      @obh = @bh1
    else
    @obh = @bh2
    END
    GO