An example of a stored procedure

xiaoxiao2021-03-06  41

Create or Replace Procedure P_pre_saveimp (v_oprcd in varcha2, returnflag out varcha2) IS

v_jrfflag varcha2 (2); - Record ID

v_jrfno varchar2 (12); - Enjoy the number

v_gntoprcd varchar2 (10);

v_Gntdept varcha2 (4);

v_gntoprdt varchar2 (10);

Begin

Declare Cursor Cur_jlsrelief_TMP IS

Select JRFNO, JRFFLAG, GNTOPRCD, GNTDEPT, TO_CHAR (GNTOPRDT, 'YYYY-MM-DD') GNTOPRDT from Jlsrelief_Temp;

Begin

Open cur_jlsrelief_tmp;

loop

FETCH CUR_JLSRELIEF_TMP INTO V_JRFNO, V_JRFFLAG, V_GNTOPRCD, V_GNTDEPT, V_GNTOPRDT

EXIT WHEN CUR_JLSRELIEF_TMP% NOTFOUND;

Begin

IF v_jrfflag = '4' Then

Begin

Update jlsrelief_t set jrfstatus = '2' where jrfno = v_jrfno;

Update jlsgrant_t set gntnote = v_oprcd || ':' || sysdate || 'Distribution Cancel' Where Gntno = V_JRFNO;

END;

END IF;

IF v_jrfflag = '1' Then

Begin

Update jlsrelief_t set jrfstatus = '3' where jrfno = v_jrfno;

Update jlsgrant_t set gntcheckin = '1', gnersprcd = v_oprcd, gntleavmn = 0, gntnote = v_gntoprcd || ':' || v_gntoprdt where gntno = v_jrfno;

END;

END IF;

IF v_jrfflag = '2' Then

Begin

Update jlsrelief_t set jrfstatus = '2' where jrfno = v_jrfno;

Update jlsgrant_t set gntnote = 'Redigate' || v_oprcd || ':' || sysdate where gntno = v_jrfno;

END;

END IF;

ReturnFlag: = '1';

END;

End loop;

COMMIT;

Close Cur_jlsrelief_TMP;

END;

END P_PRE_SAVEIMP;

转载请注明原文地址:https://www.9cbs.com/read-51364.html

New Post(0)