归纳如下:
在存储过程中
问题1  :  不知道该怎么把一个select得到的结果赋值给 变量,
问题2  :  不知道如何定义一个有返回值的方法 并想知道如何调用该方法
问题3  :  不知道如何更新数据库  是不是只写个update语句就可以了,它就自己会运行吗?见笑了.

解决方案 »

  1.   

    问题1  :  不知道该怎么把一个select得到的结果赋值给 变量
              select @a=sum(field1+field2) from T1 where id=@Id and s_month=@salary_mon
              select @b=sum(field3+field4) from T2 where s_month=@salary_mon
    问题2  :  不知道如何定义一个有返回值的方法 并想知道如何调用该方法
             我不知道在存储过程中怎样定义方法,好像不行。可以在外部定义一个函数。
            也可以这样
       CREATE function p_Bouns_Build
           @Id int,
           @salary_mon datetime 
       as
       begin 
       declare @a numeric(11,3),@b numeric(11,3),@m_value numeric(11,3)
             select @a=sum(field1+field2) from T1 where id=@Id and s_month=@salary_mon
             select @b=sum(field3+field4) from T2 where s_month=@salary_mon
             set @m_value=0
             if @a>@b 
               begin 
                  set @m_value=(@a-@b)*100
                  update T3 set field11=@m_value where s_month=@salary_mon 
               end
             
       end
    问题3  :  不知道如何更新数据库  是不是只写个update语句就可以了,它就自己会运行吗?
           不会。