sq_id(可以空)如果 @sq_id为空,那么就没有更新的,
还有就是笔误?
CREATE PROCEDURE change_sq 
@In_no VARCHAR(10), 
@sq_i VARCHAR(10), 
@sq_number Int 
AS 
SELECT @sq_i=sq_i,@sq_number=sq_number FROM In_mingxi WHERE In_no in(select id from In_Goods where id=@In_no) 
update sq_mingxi set In_number=In_number+@sq_number where id= @sq_i --@sq_id 
GO 

解决方案 »

  1.   

    =@sq_i 
    我一直在想这个是什么
      

  2.   

    CREATE PROCEDURE change_sq 
    @In_no VARCHAR(10), 
    @sq_i VARCHAR(10), 
    @sq_number Int 
    AS 
    update c
    set In_number=c.In_number+@sq_number
    from 
    In_mingxi a
    join
    In_Goods b on a.In_no=b.ID and b.ID=@In_no
    join
    sq_mingxi c on c.ID=a.sq_i
      

  3.   

    我自己找到原因了,原来我声明变量放错地方了
    @sq_i VARCHAR(10), 
    @sq_number Int 
    要放在As后
    declare ...