2017-08-05 70 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;