问题描述:
    我用一个在SQLServer写好的存储过程,现在需要把它修改在Oracle中使用,其间它用到@@rowcount,不知道
下面这一段代码该如修改,哪位大虾帮我看一下,谢谢!SET ROWCOUNT MAXCOUNT
INSERT INTO SMS_TEMP(SMSID,CONTENT,RESENDTIMES)
SELECT SMSID,'|9997|'+isnull(SMSTYPE,'')+'$'+isnull(DEPARTMENT,'')+'$'+isnull(BUSSNIESSTYPE,'')+'$'+isnull(SUMMITTIME,'')+'$'+isnull(BEGINSETDATE,'')+'$'+isnull(BEGINSETTIME,'')
+'$'+isnull(ENDSETDATE,'')+'$'+isnull(ENDSETTIME,'')+'$'+isnull(BATCHNO,'')+'$|'+isnull(TELEPHONE,'')+'|'+isnull(CONTENT,'')+'|'
+(CASE (SELECT B.BUSI_ID FROM SMS_TYPE B WHERE A.SMSTYPE = B.ID) WHEN '1' THEN SMSTYPE+BATCHNO ELSE '' END)+'|^',0 FROM SMS_REQUEST A
WHERE ((CASE ISNULL(BEGINSETDATE,'') WHEN '' THEN DATESTRING ELSE BEGINSETDATE END) <= DATESTRING)
AND ((CASE ISNULL(ENDSETDATE,'') WHEN '' THEN DATESTRING ELSE ENDSETDATE END) >= DATESTRING)
AND ((CASE ISNULL(BEGINSETTIME,'') WHEN '' THEN TIMESTRING ELSE BEGINSETTIME END) <= TIMESTRING)
AND ((CASE ISNULL(ENDSETTIME,'') WHEN '' THEN TIMESTRING ELSE ENDSETTIME END) >= TIMESTRING)
AND (SUBSTR(LTRIM(TELEPHONE), 1, 3) IN (SELECT PREFIX FROM SMS_PREFIX) OR (SUBSTR(LTRIM(TELEPHONE), 1, 3) = '+86' AND SUBSTR(LTRIM(TELEPHONE), 4, 3) IN (SELECT PREFIX FROM SMS_PREFIX)))
AND A.TELEPHONE NOT IN (
  SELECT C.TELEPHONE FROM SMS_BLACKLIST C
  WHERE A.TELEPHONE = C.TELEPHONE AND A.SMSTYPE = C.TYPE_ID
)
ORDER BY A.PRIORITY DESC,A.BATCHNO
SELECT REQUEST = @@ROWCOUNT
SET ROWCOUNT 0