下面是一个存储过程,小弟初学SQL,看不懂什么意思!这段代码的 AS 代表什么意思啊CREATE PROCEDURE sp_UpdateSMSState 
@VId int,
@State int
AS
if @State=1
Update oa_SMSTaskReceiver
set SendState=@State,SendTime=getdate()
where VId=@VId
else
Update oa_SMSTaskReceiver
set SendState=@State
where VId=@VId
GO

解决方案 »

  1.   

    CREATE PROCEDURE sp_UpdateSMSState   --过程名
    @VId int,        --过程的参数
    @State int
    AS               --下面过程开始begin           --如是初学,最好在AS下面加 begin,并在最后加endif @State=1      --条件
    Update oa_SMSTaskReceiver       --在IF块中如何更新
    set SendState=@State,SendTime=getdate()
    where VId=@VId
    else
    Update oa_SMSTaskReceiver       --在else块中如何更新
    set SendState=@State
    where VId=@VIdend
    GO
      

  2.   

    看样子短信息发送成功就更新成1状态,并更新发送完成时间
    其它不成功的情况就只更新状态了看起来一个语句也可以噢
    Update oa_SMSTaskReceiver      
    set SendState=@State,SendTime= case when @State=1 then getdate() else SendTime end
    where VId=@VId
      

  3.   


    perfectaction大哥真厉害,竟然一眼看出来啦,这确实是一个“MAS服务器收发短信”项目。
    现在问题是这样: VId只是代表:一个手机的ID,现在领导让把VId改为TaskId。
                  TaskId(任务表)代表:SMSTask 中任务ID,也就是同时验证一批手机的ID的状态,因为可能同时发送多条短信(1000条),一个个去验证状态效率太低。
    oa_SMSTaskReceiver表中,还有一个Phone字段(手机号码),现在让把Phone字段也加进来,这样才能获得一批号码中,有哪几个Phone发送成功了,怎么做呢??
      

  4.   

    现在问题是这样: VId只是代表:一个手机的ID,现在领导让把VId改为TaskId。
       TaskId(任务表)代表:SMSTask 中任务ID,也就是同时验证一批手机的ID的状态,因为可能同时发送多条短信(1000条),一个个去验证状态效率太低。
    oa_SMSTaskReceiver表中,还有一个Phone字段(手机号码),现在让把Phone字段也加进来,这样才能获得一批号码中,有哪几个Phone发送成功了,怎么做呢??