today:
9
yesterday:
242
Total:
1,004,167

SQL VERY IMPORTANT

admin 2018.06.26 05:29 Views : 226

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
21 UPDATE PROCESS admin 2016.04.28 167
20 CREATING A TABLE / SEQUENCE / TRIGGER admin 2016.04.28 172
19 TABLE PRINT admin 2018.06.18 186
18 How to convert DATE to NUMBER admin 2018.05.27 198
17 MISSIONARY_SUB admin 2018.06.25 199
16 Name Show admin 2016.04.28 203
15 CREATE VIEW admin 2016.05.13 218
14 Report by Order / Product / Order and Product / By Order & Non Order admin 2016.04.29 220
» VERY IMPORTANT admin 2018.06.26 226
12 Group by, Order by (두개의 Table을 활용한 Sub Total / 최고값 ) admin 2016.05.06 234
11 ROWNUM admin 2016.05.19 240
10 FOR LOOP admin 2016.05.20 269
9 SUBSTR admin 2016.05.26 272
8 DATE Compare admin 2018.05.22 366
7 SQL admin 2016.07.15 396
6 CREATE TABLE admin 2018.09.25 471
5 TREE admin 2016.05.18 722
4 SELECT last_name FROM admin 2018.12.12 742
3 INSTR admin 2016.05.19 789
2 GP PRINT admin 2018.05.31 918