首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求用一句话完成本procedure的全部功能,该怎么解决

2012-01-30 
求用一句话完成本procedure的全部功能现有procedure如下:CREATEPROCEDUREupdateLastReqEvent@p_adminkeyin

求用一句话完成本procedure的全部功能
现有procedure如下:
CREATE   PROCEDURE   updateLastReqEvent  
@p_adminkey   int
as
      declare   @tmpvar       int
BEGIN
      set   @tmpvar   =   0
While   c_requestnum   IN   (SELECT   distinct   rm.requestnumber  
                                                    FROM   metarequestactivitytemp   rat,
                                                              metarequestmap   rm,
                                                              metarequeststatusimagemap   rsi
                                                  WHERE   rat.islast   =   'Y '
      AND   rat.requestid   =   rm.requestid
                                                      AND   rat.requeststatus   =   rsi.requests)
  begin

            UPDATE   requestevent
                  SET   islast   =   'N '
              WHERE   requestnumber   =   c_requestnum.requestnumber   AND   islast   =   'Y ';
  END
END  


如何用一句话高效率的完成本procedure???

[解决办法]
可以用一條語句實現

UPDATE
req
SET islast = 'N '
From
requestevent req, metarequestactivitytemp rat, metarequestmap rm, metarequeststatusimagemap rsi
WHERE rat.requestid = rm.requestid AND rat.requeststatus = rsi.requests AND rm.requestnumber = req.requestnumber
AND req.islast = 'Y ' AND rat.islast = 'Y '

热点排行
Bad Request.