настройка процентов на фиксированную сумму - PullRequest
0 голосов
/ 08 января 2019

найдите total_charge из конфигурации процентов, используя sql или plsql

START_FROM     END_TO   PER_UNIT    CHAR_PU   MIN_CHAR   MAX_CHAR INSTRUCTION                                       
---------- ---------- ---------- ---------- ---------- ---------- -------------
         0       9999       1000          3         10          0 compare min                                       
     10000      29999       1000        2.5          3          0 add min                                        
     30000      99999       1000          2          0          0 compare                                           
    100000     999999       1000        1.5          0        300 compare max                                       

шаги:

  1. получить сумму между start_from и End_to от пользователя. пример. 0-9999 сумма = 5000
  2. рассчитать плату через per_unit с проверкой инструкции. Например. сумма = 5000 зарядов = 3 за = 1000 total_charge = 15. но когда сумма = 2000, то total_charge = 6, в этом случае нам нужно проверить инструкцию, и она будет сравниваться с min_Charge = 10 и total_charge = 10.
  3. В проверке 10000-29999 для добавления min = total_charge + 3
  4. В проверке 100000-999999 к Max_charge, если он применяется
  5. сумма получена через '&' и total_charges показывает в столбце

1 Ответ

0 голосов
/ 19 января 2019

CREATE OR REPLACE FUNCTION calcu(amount NUMBER) RETURN NUMBER is charge NUMBER; BEGIN SELECT ((amount/per_unit)*char_pu) into charge from a where amount between start_from and end_to; if (charge<10) then charge:=10; elsif(amount between 10000 and 29999) then charge:=charge+3; elsif(charge>300) then charge:=300; end if; RETURN charge; END calcu; select calcu(&amount) as charge from dual;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...