DECLARE
YEAR NUMBER;
BEGIN
DELETE FROM HISTORY_SUM;
INSERT INTO HISTORY_SUM (YEAR)
Select DISTINCT(TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY'))) as YEAR from HISTORY
ORDER BY YEAR;
FOR x IN (Select * from HISTORY_SUM) LOOP
UPDATE HISTORY_SUM
SET JAN = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 1)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET FEB = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 2)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET MAR = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 3)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET APR = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 4)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET MAY = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 5)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET JUN = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 6)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET JUL = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 7)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET AUG = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 8)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET SEP = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 9)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET OCT = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 10)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET NOV = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 11)
WHERE YEAR = x.YEAR;
UPDATE HISTORY_SUM
SET DEC = (Select SUM(TOTAL_$) from HISTORY c
WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 12)
WHERE YEAR = x.YEAR;
END LOOP;
COMMIT;
END;
| No. | Subject | Author | Date | Views |
|---|---|---|---|---|
| 42 | PRICE TABLE UPDATE | admin | 2025.07.12 | 1539 |
| » | 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 |
| 35 | 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 |