程序要求更新bill amout

时间:2018-01-19 16:20:49

标签: oracle

我有四个表,其中包含登录详细信息和方案ID详细信息,每个字节的速率和每个表中每分钟的速率。表结构如下。

$inventory = Inventory::inventory('data_2016', 2);

我创建了一个程序,它将日期作为输入,并应根据字节数和登录分钟计算每日帐单金额。如果输入日期存在于表中,则应在ISBS_DAILY_BILLING_REP中更新计算值,否则必须将其作为新行插入。但我没有得到所需的输出。所以请帮我解决这个问题。我也附上了这个程序。

SQL> SELECT * FROM ISBS_SESSION_CONNECTION_DET;

CONNECTION_ID  LOGIN_ID LOGIN_DTTM                                    LOGOUT_DTTM                                        BYTES_CNT D M

          --------------      -------- -----------------------------------                -----------------------------------                         ----------        - -    
CON0000000001  USER1    01-SEP-08 10.00.00.000000 AM        01-SEP-08 12.15.00.000000 PM               100 N N    
CON0000000002  USER1    01-SEP-08 02.15.00.000000 AM        01-SEP-08 02.55.00.000000 AM               500 N N    
CON0000000003  USER1    10-SEP-08 02.15.00.000000 AM        10-SEP-08 04.15.00.000000 AM              1500 N N    
CON0000000004  USER1    30-SEP-08 10.00.00.000000 AM        30-SEP-08 11.35.00.000000 AM             10 N N    
CON0000000005  USER1    30-SEP-08 11.40.00.000000 AM        01-OCT-08 07.25.00.000000 AM               100 N N    
CON0000000006  USER1    03-OCT-08 08.45.00.000000 AM        05-OCT-08 07.25.00.000000 AM             12000 N N    
CON0000000007  USER1    16-SEP-08 09.15.00.000000 AM        17-SEP-08 09.15.00.000000 AM              1000 N N    
CON0000000008  USER1    24-SEP-08 02.15.00.000000 AM        24-SEP-08 11.50.00.000000 PM              1500 N N    
CON0000000009  USER2    01-SEP-08 10.00.00.000000 AM        01-SEP-08 12.15.00.000000 PM               100 N N    
CON0000000010  USER2    01-SEP-08 02.15.00.000000 PM        01-SEP-08 02.55.00.000000 PM               500 N N    
CON0000000011  USER2    10-SEP-08 02.15.00.000000 AM        10-SEP-08 04.15.00.000000 AM              1500 N N    
CON0000000012  USER2    30-SEP-08 10.00.00.000000 PM        30-SEP-08 11.35.00.000000 PM             10 N N    
CON0000000013  USER2    30-SEP-08 11.40.00.000000 PM        01-OCT-08 07.25.00.000000 AM               100 N N    
CON0000000014  USER2    03-OCT-08 08.45.00.000000 AM        05-OCT-08 07.25.00.000000 AM             12000 N N    
CON0000000015  USER2    16-SEP-08 09.15.00.000000 AM        17-SEP-08 09.15.00.000000 AM              1000 N N    
CON0000000016  USER2    24-SEP-08 02.15.00.000000 AM        24-SEP-08 11.50.00.000000 PM              1500 N N    
CON0000000017  USER3    01-SEP-08 10.00.00.000000 AM        01-SEP-08 12.15.00.000000 PM               100 N N    
CON0000000018  USER3    01-SEP-08 02.15.00.000000 PM        01-SEP-08 02.55.00.000000 PM               500 N N    
CON0000000019  USER3    10-SEP-08 02.15.00.000000 AM        10-SEP-08 04.15.00.000000 AM              1500 N N    
CON0000000020  USER3    30-SEP-08 10.00.00.000000 PM        30-SEP-08 11.35.00.000000 PM             10 N N    
CON0000000021  USER3    30-SEP-08 11.40.00.000000 PM        01-OCT-08 07.25.00.000000 AM               100 N N    
CON0000000022  USER3    03-OCT-08 08.45.00.000000 AM        05-OCT-08 07.25.00.000000 AM             12000 N N    
CON0000000023  USER3    16-SEP-08 09.15.00.000000 AM        17-SEP-08 09.15.00.000000 AM              1000 N N    
CON0000000024  USER3    24-SEP-08 02.15.00.000000 AM        24-SEP-08 11.50.00.000000 PM              1500 N N    
CON0000000025  USER4    01-SEP-08 10.00.00.000000 AM        01-SEP-08 12.15.00.000000 PM               100 N N    
CON0000000026  USER4    01-SEP-08 02.15.00.000000 PM        01-SEP-08 02.55.00.000000 PM               500 N N   
CON0000000027  USER4    01-SEP-08 02.15.00.000000 AM        01-SEP-08 04.15.00.000000 AM              1500 N N    
CON0000000028  USER4    30-SEP-08 10.00.00.000000 PM        30-SEP-08 11.35.00.000000 PM             10 N N    
CON0000000029  USER4    30-SEP-08 11.40.00.000000 PM        01-OCT-08 07.25.00.000000 AM               100 N N    
CON0000000030  USER4    03-OCT-08 08.45.00.000000 AM        05-OCT-08 07.25.00.000000 AM             12000 N N    
CON0000000031  USER4    16-SEP-08 09.15.00.000000 AM        17-SEP-08 09.15.00.000000 AM              1000 N N    
CON0000000032  USER4    24-SEP-08 02.15.00.000000 AM        24-SEP-08 11.50.00.000000 PM              1500 N N    
CON0000000033  USER1    24-SEP-07 02.15.00.000000 AM        24-SEP-07 05.15.00.000000 AM               122 N N    
CON0000000034  USER1    25-SEP-07 02.15.00.000000 AM        26-SEP-07 02.15.00.000000 AM               544 N N    
CON0000000035  USER2    25-SEP-07 02.15.00.000000 AM        26-SEP-07 02.15.00.000000 AM               355 N N    
CON0000000036  USER3    24-SEP-07 02.15.00.000000 AM        24-SEP-07 05.15.00.000000 AM               100 N N    
CON0000000037  USER3    25-SEP-07 02.15.00.000000 AM        26-SEP-07 02.15.00.000000 AM             10 N N    
CON0000000038  USER3    25-DEC-07 02.15.00.000000 AM        25-DEC-07 06.15.00.000000 AM              1000 N N


SQL> SELECT * FROM ISBS_CUSTOMER_MST;

CUST_ID        LOGIN_ID CUST_NM         CUST_ADDR

-------------- -------- --------------- ------------------------------------------------------

CUST0000000001 USER1    User Login ID 1 143/1 Uthamar Gandhi Salai, Nungambakkam, Chennai - 34    
CUST0000000002 USER2    User Login ID 2 143/2 Uthamar Gandhi Salai, Nungambakkam, Chennai - 34    
CUST0000000003 USER3    User Login ID 3 143/3 Uthamar Gandhi Salai, Nungambakkam, Chennai - 34    
CUST0000000004 USER4    User Login ID 4 143/4 Uthamar Gandhi Salai, Nungambakkam, Chennai - 34


SELECT * FROM ISBS_CUSTOMER_SCHEME_XREF;


CUST_SCHEME_XR CUST_ID      SCHEME_DETAIL_ID EFFECTIVE_DTTM

-------------- -------------- ---------------- ----------------------------
CXR0000000001  CUST0000000001 SCD0000000001 01-SEP-08 12.01.00.000000 AM
CXR0000000002  CUST0000000002 SCD0000000001 01-SEP-08 12.01.00.000000 AM
CXR0000000003  CUST0000000002 SCD0000000002 24-SEP-08 03.10.00.000000 AM
CXR0000000004  CUST0000000003 SCD0000000001 01-SEP-08 12.01.00.000000 AM
CXR0000000005  CUST0000000003 SCD0000000003 16-SEP-08 10.01.00.000000 AM
CXR0000000006  CUST0000000004 SCD0000000002 01-SEP-08 12.01.00.000000 AM
CXR0000000007  CUST0000000004 SCD0000000004 10-SEP-08 03.01.00.000000 AM
CXR0000000008  CUST0000000004 SCD0000000005 24-SEP-08 11.15.00.000000 AM

SELECT * FROM ISBS_BYTE_SCHEME_DET;


SCHEME_DETAIL_ID SCHEME_ID      RATE_PER_BYTE_AMT

---------------- -------------- -----------------
SCD0000000005   SCH0000000003               .001
SCD0000000006   SCH0000000003           

.0015

 SELECT * FROM ISBS_TIME_SCHEME_DET;


SCHEME_DETAIL_ID  IDX SCHEME_ID     RATE_EFFECTIVE_FROM_TM RATE_EFFECTIVE_TO_TM RATE_PER_MIN_AMT

---------------- ---- -------------- ---------------------- -------------------- ----------------
SCD0000000003       1 SCH0000000002  2200                   0400                            .1
SCD0000000003       2 SCH0000000002  0400                   1000                            .2
SCD0000000003       3 SCH0000000002  1000                   1800                            .5
SCD0000000003       4 SCH0000000002  1800                   2200                            .3
SCD0000000004       1 SCH0000000002  2200                   0400                            .05
SCD0000000004       2 SCH0000000002  0400                   1000                            .25
SCD0000000004       3 SCH0000000002  1000                   1800                            .35
SCD0000000004       4 SCH0000000002  1800                   2200                            .3

0 个答案:

没有答案