在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)庫/ 如何oracle的存儲過程,為什么有兩段相似的代碼,而不是寫一段?

如何oracle的存儲過程,為什么有兩段相似的代碼,而不是寫一段?

BEGIN
   AN_O_RET_CODE := 0;
   AC_O_RET_MSG  := '操作成功';
   select COUNT (*) INTO COUNTALL from (
       select kf_id,o.name kf_name,sessionid,decode(score,'1','點贊','2','不點贊','0','放棄',score) as satis,to_char(create_time,'yyyy-mm-dd HH:MM:ss')
       from tb_zxkf_evaluate e
       left join tb_sso_oper o on e.kf_id = o.logincode
       where to_char(create_time,'yyyymmdd') between BEGINDATE and ENDDATE
   );
  limit2:=limit1;
  if limit1<0 then
    limit2:=COUNTALL;
  end if;
  --/* 結(jié)果集返回 */
  OPEN CUR_RET FOR
  SELECT * FROM (SELECT  ROWNUM AS ROW_NUM,WM.* FROM(
         select kf_id,o.name kf_name,sessionid,decode(score,'1','點贊','2','不點贊','0','放棄',score) as satis,to_char(create_time,'yyyy-mm-dd HH:MM:ss') as create_time
         from tb_zxkf_evaluate e
         left join tb_sso_oper o on e.kf_id = o.logincode
         where to_char(create_time,'yyyymmdd') between BEGINDATE and ENDDATE
  )WM order by create_time desc) WHERE ROW_NUM BETWEEN  start1  AND  limit2;
  EXCEPTION
    WHEN OTHERS THEN
        AN_O_RET_CODE := -1;
        AC_O_RET_MSG  := '錯誤代碼:' || SQLCODE || CHR(13) || '錯誤信息:' || SQLERRM;
END ZXKF_SatisDet;
回答
編輯回答
青裙

雖然兩個相似,但兩個 sql 語句明顯不是同個內(nèi)容來的,一是獲取數(shù)據(jù)總數(shù)量,二是查詢數(shù)據(jù)。至于為什么不寫在一起,明顯前面有個邏輯處理,需要根據(jù)具體情況再進行下一步,雖然也可以寫成一句,但是明顯不如這個清晰。

2017年11月12日 12:21