View difference between Paste ID: 0Zsyf7Nk and 8YiQqC4p
SHOW: | | - or go back to the newest paste.
1-
CREATE OR REPLACE FUNCTION INSERT_PAYJOURNALREC_ARCH (
1+
CREATE OR REPLACE FUNCTION insert_payjournalrec_arch(v_start_id   IN NUMBER,
2-
   V_START_ID     IN NUMBER,
2+
                                                     count_record IN NUMBER)
3-
   COUNT_RECORD   IN NUMBER)
3+
  RETURN BOOLEAN AS
4-
   RETURN BOOLEAN
4+
  save_success BOOLEAN;
5-
AS
5+
6-
   save_success   BOOLEAN;
6+
  DECLARE
7
    j   INT;
8-
   DECLARE
8+
    cnt INT;
9-
      j   INT;
9+
  BEGIN
10-
   BEGIN
10+
    dbms_output.enable;
11-
      DBMS_OUTPUT.ENABLE;
11+
    j   := 0;
12-
      j := 0;
12+
    cnt := 0;
13-
13+
    FOR i IN (SELECT id
14-
      FOR i IN (SELECT id
14+
                FROM ipsh.payjournalrec pay
15-
                  FROM ipsh.payjournalrec pay
15+
               WHERE pay.id <= v_start_id) LOOP
16-
                 WHERE pay.id <= V_START_ID)
16+
      j   := j + 1;
17-
      LOOP
17+
      cnt := cnt + 1;
18-
         j := j + 1;
18+
      INSERT INTO payjournalrec_arch
19-
19+
        (SELECT * FROM payjournalrec WHERE id = i.id);
20-
         INSERT INTO PAYJOURNALREC_ARCH
20+
    
21-
            (SELECT *
21+
      DELETE ipsh.payjournalrec pay_inn WHERE pay_inn.id = i.id;
22-
               FROM PAYJOURNALREC
22+
    
23-
              WHERE ID = i.id);
23+
      IF j > count_record THEN
24-
24+
        COMMIT;
25-
         DELETE IPSH.PAYJOURNALREC pay_inn
25+
        dbms_output.put_line('PROCESS ' || to_char(cnt) || ' RECORDS');
26-
          WHERE pay_inn.id = i.id;
26+
        j := 0;
27-
27+
      END IF;
28-
         IF j > COUNT_RECORD
28+
    END LOOP;
29-
         THEN
29+
    IF (j > 0) THEN
30-
            COMMIT;
30+
      dbms_output.put_line('PROCESS ' || to_char(cnt) || ' RECORDS');
31-
            DBMS_OUTPUT.put_line ('COMMIT');
31+
32-
            j := 0;
32+
    END IF;
33-
         END IF;
33+
  END;
34-
      END LOOP;
34+
35-
35+