2017-08-05 72 views
-2

我試圖將我的數據庫從oracle遷移到mariadb。將rownum從Oracle查詢遷移到MariaDB

當我刪除選擇查詢時,它執行得非常好,否則該過程顯示錯誤。

SELECT MSFID, CONVEFEES INTO OUT_MSFID,OUT_CONVEFEES 
    FROM 
     (SELECT MSF.MSFID 
     (CASE WHEN MSF.CHARGETYPE = 'H' THEN 
        (CASE WHEN (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) > (IFNULL(FIXAMT,0)) THEN 
          (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) 
         ELSE (IFNULL(FIXAMT,0))END) 
        WHEN MSF.CHARGETYPE = 'L' THEN 
         (CASE WHEN (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) > (IFNULL(FIXAMT,0)) THEN 
          (IFNULL(FIXAMT,0)) 
         ELSE (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) 
         END) 
        ELSE 
        (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) + (IFNULL(FIXAMT,0)) 
       END) 

     -- (P_METRNAMT*((IFNULL(DMPER_OFFUS,0)*100)/100))+ (IFNULL(DMFIXAMT_OFFUS,0) * 100) 
     AS CONVEFEES 
     FROM VTMEMSF MSF 
     WHERE CURRENT_DATE() BETWEEN MSF.EFFFROM AND MSF.EFFTILL AND MSF.SLABUPTO>= LV_METRNAMT AND STOREID=P_STOREID 
     AND `MSF.STATUS` = 'A' AND MSF.MSFTYPE='C' -- AND MSF.TRANTYPE=P_TRNTYPE 
     ORDER BY SLABUPTO) 
    LIMIT 1; 
+0

有mysql中沒有ROWNUM也許你需要限制1. –

+0

包括你的崩潰日誌中的問題,如果你有一個。參加[導覽](https://stackoverflow.com/help)瞭解更多信息。 – UmarZaii

+0

@P.Salmon是的我使用了限制1.但仍然沒有執行 –

回答

0
SELECT MSFID, CONVEFEES INTO OUT_MSFID,OUT_CONVEFEES 
    FROM 
     (SELECT MSF.MSFID 
     (CASE WHEN MSF.CHARGETYPE = 'H' THEN 
        (CASE WHEN (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) > (IFNULL(FIXAMT,0)) THEN 
          (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) 
         ELSE (IFNULL(FIXAMT,0))END) 
        WHEN MSF.CHARGETYPE = 'L' THEN 
         (CASE WHEN (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) > (IFNULL(FIXAMT,0)) THEN 
          (IFNULL(FIXAMT,0)) 
         ELSE (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) 
         END) 
        ELSE 
        (LV_METRNAMT*((IFNULL(FIXPER,0))/100)) + (IFNULL(FIXAMT,0)) 
       END) 

     #-- (P_METRNAMT*((IFNULL(DMPER_OFFUS,0)*100)/100))+ (IFNULL(DMFIXAMT_OFFUS,0) * 100) 
     AS CONVEFEES 
     FROM VTMEMSF MSF 
     WHERE CURRENT_DATE() BETWEEN MSF.EFFFROM AND MSF.EFFTILL AND MSF.SLABUPTO>= LV_METRNAMT AND STOREID=P_STOREID 
     AND `MSF.STATUS` = 'A' AND MSF.MSFTYPE='C' #-- AND MSF.TRANTYPE=P_TRNTYPE 
     ORDER BY SLABUPTO) s 
    LIMIT 1;