today:
23,592
yesterday:
36,697
Total:
9,614,825

Oracle APEX SQL

SQL VERY IMPORTANT

admin 2018.06.26 05:29 Views : 1310

DECLARE
 SSID2 NUMBER;

BEGIN
delete from MISSIONARY_SUB;
delete from MISSIONARY_SUB2;
delete from MISSIONARY_YEAR;

insert into MISSIONARY_SUB
Select 
MISSIONARY_ID,SUPPORTER_ID,AMOUNT,to_number(to_char(CONTRIBUTION_DATE,'MM')) 
from CONTRIBUTION 
where UPPER(:P9_MISSIONARY_ID) = MISSIONARY_ID 
and :P9_YEAR = to_number(to_char(CONTRIBUTION_DATE,'YYYY'));

insert into MISSIONARY_SUB2
Select 
SSID,SUM(SAMOUNT),SDATE 
from MISSIONARY_SUB 
Group by SSID,SDATE;

INSERT INTO MISSIONARY_YEAR (SID)
SELECT DISTINCT SSID FROM MISSIONARY_SUB;

     FOR x IN (Select * from MISSIONARY_YEAR) LOOP

     UPDATE MISSIONARY_YEAR
     SET JAN = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 1)
     WHERE SID = x.SID;
     
     UPDATE MISSIONARY_YEAR
     SET FEB = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 2)
     WHERE SID = x.SID;

     UPDATE MISSIONARY_YEAR
     SET MAR = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 3)
     WHERE SID = x.SID;
     
     UPDATE MISSIONARY_YEAR
     SET APR = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 4)
     WHERE SID = x.SID;

     UPDATE MISSIONARY_YEAR
     SET MAY = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 5)
     WHERE SID = x.SID;
     
     UPDATE MISSIONARY_YEAR
     SET JUN = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 6)
     WHERE SID = x.SID;

     UPDATE MISSIONARY_YEAR
     SET JUL = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 7)
     WHERE SID = x.SID;
     
     UPDATE MISSIONARY_YEAR
     SET AUG = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 8)
     WHERE SID = x.SID;

     UPDATE MISSIONARY_YEAR
     SET SEP = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 9)
     WHERE SID = x.SID;
     
     UPDATE MISSIONARY_YEAR
     SET OCT = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 10)
     WHERE SID = x.SID;

     UPDATE MISSIONARY_YEAR
     SET NOV = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 11)
     WHERE SID = x.SID;
     
     UPDATE MISSIONARY_YEAR
     SET DEC = (SELECT SAMOUNT2 FROM MISSIONARY_SUB2 WHERE SSID2 = x.SID AND SDATE2 = 12)
     WHERE SID = x.SID;

     END LOOP;
COMMIT;
END;
No. Subject Author Date Views
42 PRICE TABLE UPDATE admin 2025.07.12 1539
41 Monthly SUM admin 2023.05.22 1522
40 LOOP TABLE UPDATE admin 2023.05.19 1624
39 STARTUP admin 2022.09.01 1150
38 ACTION admin 2019.01.11 7792
37 SELECT last_name FROM admin 2018.12.12 1969
36 CREATE TABLE admin 2018.09.25 1652
» VERY IMPORTANT admin 2018.06.26 1310
34 MISSIONARY_SUB admin 2018.06.25 1206
33 TABLE PRINT admin 2018.06.18 1357
32 GP PRINT admin 2018.05.31 2257
31 How to convert DATE to NUMBER admin 2018.05.27 1341
30 DATE Compare admin 2018.05.22 1514
29 Oracle SQL Developer: Online Migration 3.1 admin 2018.04.25 1441
28 How to Update Oracle XE admin 2018.04.25 1226
27 SQL admin 2016.07.15 1693
26 SUBSTR admin 2016.05.26 1340
25 FOR LOOP admin 2016.05.20 1490
24 ROWNUM admin 2016.05.19 1365
23 NVL admin 2016.05.19 1326