MINI
C:
/
siak
/
05_script
/
05_script
/
01_TABLE
/
Upload File:
files >> C:/siak/05_script/05_script/01_TABLE/SQL06_CreateTrigger.sql
DROP TRIGGER BI_SMSSERVER_IN; CREATE OR REPLACE TRIGGER BI_SMSSERVER_IN before insert on "SMSSERVER_IN" for each row begin select "SMSSERVER_IN_SEQ".nextval into :NEW.ID from dual; end; / DROP TRIGGER BI_SMSSERVER_OUT; CREATE OR REPLACE TRIGGER BI_SMSSERVER_OUT before insert on "SMSSERVER_OUT" for each row begin select "SMSSERVER_OUT_SEQ".nextval into :NEW.ID from dual; end; / CREATE OR REPLACE TRIGGER T5_LAPORAN_LOG#GENID BEFORE INSERT ON T5_LAPORAN_LOG REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN SELECT max(id_laporan)+1 into tmpVar FROM T5_LAPORAN_LOG; if tmpVar is null then tmpVar:=1; end if; :NEW.id_laporan := tmpVar; EXCEPTION WHEN OTHERS THEN RAISE; END ; / CREATE OR REPLACE TRIGGER ADT_BIO_WNA AFTER UPDATE ON BIODATA_WNA REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE VAR_UPDATED NUMBER := 0; VAR_SEQ_ID_HEADER_NEXT NATURAL; VAR_SEQ_ID_HEADER_CURR NATURAL; VAR_TOT_DETAIL NUMBER := 0; BEGIN VAR_UPDATED := 0; SELECT HIST_BIO_WNA_HEADER.NEXTVAL, HIST_BIO_WNA_HEADER.NEXTVAL INTO VAR_SEQ_ID_HEADER_NEXT, VAR_SEQ_ID_HEADER_CURR FROM DUAL; INSERT INTO HISTORY_BIODATA_WNA_HEADER(SEQ_ID_HEADER, NIK, NAMA, UPDATED_DATE, UPDATED_BY, NO_PROP, NO_KAB, NO_KEC, NO_KEL) VALUES(VAR_SEQ_ID_HEADER_NEXT, :OLD.NIK, :OLD.NAMA_PERTMA ||' '||:OLD.NAMA_KLRGA, sysdate, :NEW.MODIFIED_BY, :OLD.NO_PROP, :OLD.NO_KAB, :OLD.NO_KEC, :OLD.NO_KEL ); IF :OLD.NIK != :NEW.NIK THEN -- CHECK NIK INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NIK', :OLD.NIK, :NEW.NIK); VAR_UPDATED := 1; END IF; IF :OLD.JENIS_KLMIN != :NEW.JENIS_KLMIN THEN -- CHECK JENIS KELAMIN INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'JENIS KELAMIN', :OLD.JENIS_KLMIN, :NEW.JENIS_KLMIN); END IF; IF :OLD.TMPT_LHR != :NEW.TMPT_LHR THEN -- CHECK TEMPAT LAHIR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TEMPAT LAHIR', :OLD.TMPT_LHR, :NEW.TMPT_LHR); END IF; IF :OLD.TGL_LHR != :NEW.TGL_LHR THEN -- CHECK TANGGAL LAHIR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL LAHIR', :OLD.TGL_LHR, :NEW.TGL_LHR); END IF; IF :OLD.KWRNGRN != :NEW.KWRNGRN THEN -- CHECK KEWARGANEGARAAN INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'KEWARGANEGARAAN', :OLD.KWRNGRN, :NEW.KWRNGRN); END IF; IF :OLD.AGAMA != :NEW.AGAMA THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'AGAMA', :OLD.AGAMA, :NEW.AGAMA); END IF; IF :OLD.GOL_DRH != :NEW.GOL_DRH THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'GOLONGAN DARAH', :OLD.GOL_DRH, :NEW.GOL_DRH); END IF; IF :OLD.STAT_KWN != :NEW.STAT_KWN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'STATUS PERKAWINAN', :OLD.STAT_KWN, :NEW.STAT_KWN); END IF; IF :OLD.PDDK_AKH != :NEW.PDDK_AKH THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'PENDIDIKAN AKHIR', :OLD.PDDK_AKH, :NEW.PDDK_AKH); END IF; IF :OLD.JENIS_PKRJN != :NEW.JENIS_PKRJN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'JENIS PEKERJAAN', :OLD.JENIS_PKRJN, :NEW.JENIS_PKRJN); END IF; IF :OLD.ALAMAT_SPSOR != :NEW.ALAMAT_SPSOR THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'ALAMAT SPONSOR', :OLD.ALAMAT_SPSOR, :NEW.ALAMAT_SPSOR); END IF; IF :OLD.NO_RT != :NEW.NO_RT THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'RT SPONSOR', :OLD.NO_RT, :NEW.NO_RT); END IF; IF :OLD.NO_RW != :NEW.NO_RW THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'RW SPONSOR', :OLD.NO_RW, :NEW.NO_RW); END IF; IF :OLD.KODEPOS != :NEW.KODEPOS THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'KODE POS SPONSOR', :OLD.KODEPOS, :NEW.KODEPOS); END IF; IF :OLD.TELEPON != :NEW.TELEPON THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TELEPHONE SPONSOR', :OLD.TELEPON, :NEW.TELEPON); END IF; IF :OLD.DATNG_DARI != :NEW.DATNG_DARI THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'DATANG DARI', :OLD.DATNG_DARI, :NEW.DATNG_DARI); END IF; IF :OLD.TUJUAN_DTNG != :NEW.TUJUAN_DTNG THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TUJUAN DATANG', :OLD.TUJUAN_DTNG, :NEW.TUJUAN_DTNG); END IF; IF :OLD.NO_PASPOR != :NEW.NO_PASPOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO PASSPORT', :OLD.NO_PASPOR, :NEW.NO_PASPOR); END IF; IF :OLD.TGL_PASPOR != :NEW.TGL_PASPOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL PASSPORT', :OLD.TGL_PASPOR, :NEW.TGL_PASPOR); END IF; IF :OLD.TGL_AKH_PASPOR != :NEW.TGL_AKH_PASPOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL BERAKHIR PASSPORT', :OLD.TGL_AKH_PASPOR, :NEW.TGL_AKH_PASPOR); END IF; IF :OLD.NAMA_SPSOR != :NEW.NAMA_SPSOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NAMA SPONSOR', :OLD.NAMA_SPSOR, :NEW.NAMA_SPSOR); END IF; IF :OLD.TIPE_SPSOR != :NEW.TIPE_SPSOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TIPE SPONSOR', :OLD.TIPE_SPSOR, :NEW.TIPE_SPSOR); END IF; IF :OLD.DOK_IMGR != :NEW.DOK_IMGR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'DOKUMEN IMIGRASI', :OLD.DOK_IMGR, :NEW.DOK_IMGR); END IF; IF :OLD.NO_DOK != :NEW.NO_DOK THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO DOKUMEN IMIGRASI', :OLD.NO_DOK, :NEW.NO_DOK); END IF; IF :OLD.TMPT_DTBIT != :NEW.TMPT_DTBIT THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TEMPAT DITERBITKAN DOK. IMIGRASI', :OLD.TMPT_DTBIT, :NEW.TMPT_DTBIT); END IF; IF :OLD.TGL_DTBIT != :NEW.TGL_DTBIT THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL DI TERBITKAN DOK. IMIGRASI', :OLD.TGL_DTBIT, :NEW.TGL_DTBIT); END IF; IF :OLD.TGL_AKH_DOK != :NEW.TGL_AKH_DOK THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL DI AKHIR DOK. IMIGRASI', :OLD.TGL_AKH_DOK, :NEW.TGL_AKH_DOK); END IF; IF :OLD.TMPT_DTNG_PERT != :NEW.TMPT_DTNG_PERT THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TEMPAT DATANG PERTAMA', :OLD.TMPT_DTNG_PERT, :NEW.TMPT_DTNG_PERT); END IF; IF :OLD.TGL_DTNG_PERT != :NEW.TGL_DTNG_PERT THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL DATANG PERTAMA', :OLD.TGL_DTNG_PERT, :NEW.TGL_DTNG_PERT); END IF; IF :OLD.NO_STLD != :NEW.NO_STLD THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO STLD', :OLD.NO_STLD, :NEW.NO_STLD); END IF; IF :OLD.TGL_DFT != :NEW.TGL_DFT THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL PENDAFTARAN', :OLD.TGL_DFT, :NEW.TGL_DFT); END IF; IF :OLD.STAT_HBKEL != :NEW.STAT_HBKEL THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNA_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNA_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'SHBKEL', :OLD.STAT_HBKEL, :NEW.STAT_HBKEL); END IF; SELECT COUNT(SEQ_ID_HEADER) INTO VAR_TOT_DETAIL FROM HISTORY_BIODATA_WNA_DETAIL WHERE SEQ_ID_HEADER = VAR_SEQ_ID_HEADER_CURR; IF VAR_TOT_DETAIL = 0 THEN DELETE FROM HISTORY_BIODATA_WNA_HEADER WHERE SEQ_ID_HEADER = VAR_SEQ_ID_HEADER_CURR; END IF; EXCEPTION WHEN OTHERS THEN -- Consider logging the error and then re-raise RAISE; END; / CREATE OR REPLACE TRIGGER ADT_BIO_WNI AFTER UPDATE ON BIODATA_WNI REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE VAR_UPDATED NUMBER := 0; VAR_SEQ_ID_HEADER_NEXT NATURAL; VAR_SEQ_ID_HEADER_CURR NATURAL; VAR_TOT_DETAIL NUMBER := 0; BEGIN VAR_UPDATED := 0; SELECT HIST_BIO_WNI_HEADER.NEXTVAL, HIST_BIO_WNI_HEADER.NEXTVAL INTO VAR_SEQ_ID_HEADER_NEXT, VAR_SEQ_ID_HEADER_CURR FROM DUAL; INSERT INTO HISTORY_BIODATA_WNI_HEADER(SEQ_ID_HEADER, NIK, NAMA, UPDATED_DATE, UPDATED_BY, NO_PROP, NO_KAB, NO_KEC, NO_KEL) VALUES(VAR_SEQ_ID_HEADER_NEXT, :OLD.NIK, :OLD.NAMA_LGKP, sysdate, :NEW.MODIFIED_BY, :OLD.NO_PROP, :OLD.NO_KAB, :OLD.NO_KEC, :OLD.NO_KEL ); IF :OLD.NIK != :NEW.NIK THEN -- CHECK NIK INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NIK', :OLD.NIK, :NEW.NIK); VAR_UPDATED := 1; END IF; IF :OLD.NO_KTP != :NEW.NO_KTP THEN -- CHECK NO_KTP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO KTP', :OLD.NO_KTP, :NEW.NO_KTP); END IF; IF :OLD.TMPT_SBL != :NEW.TMPT_SBL THEN -- CHECK TEMPAT SEBELUMNYA INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TEMPAT SEBELUMNYA', :OLD.TMPT_SBL, :NEW.TMPT_SBL); END IF; IF :OLD.NO_PASPOR != :NEW.NO_PASPOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO PASSPORT', :OLD.NO_PASPOR, :NEW.NO_PASPOR); END IF; IF :OLD.TGL_AKH_PASPOR != :NEW.TGL_AKH_PASPOR THEN -- CHECK NO PASSPOR INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL PASSPORT', :OLD.TGL_AKH_PASPOR, :NEW.TGL_AKH_PASPOR); END IF; IF :OLD.NAMA_LGKP != :NEW.NAMA_LGKP THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NAMA LENGKAP', :OLD.NAMA_LGKP, :NEW.NAMA_LGKP); END IF; IF :OLD.JENIS_KLMIN != :NEW.JENIS_KLMIN THEN -- CHECK JENIS KELAMIN INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'JENIS KELAMIN', :OLD.JENIS_KLMIN, :NEW.JENIS_KLMIN); END IF; IF :OLD.TMPT_LHR != :NEW.TMPT_LHR THEN -- CHECK TEMPAT LAHIR INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TEMPAT LAHIR', :OLD.TMPT_LHR, :NEW.TMPT_LHR); END IF; IF :OLD.TGL_LHR != :NEW.TGL_LHR THEN -- CHECK TANGGAL LAHIR INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL LAHIR', TO_CHAR(:OLD.TGL_LHR,'DD-MM-YYYY'), TO_CHAR(:NEW.TGL_LHR,'DD-MM-YYYY')); END IF; IF :OLD.AKTA_LHR != :NEW.AKTA_LHR THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'KEPEMILIKAN AKTA LAHIR', :OLD.AKTA_LHR, :NEW.AKTA_LHR); END IF; IF :OLD.NO_AKTA_LHR != :NEW.NO_AKTA_LHR THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO. AKTA LAHIR', :OLD.NO_AKTA_LHR, :NEW.NO_AKTA_LHR); END IF; IF :OLD.GOL_DRH != :NEW.GOL_DRH THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'GOLONGAN DARAH', :OLD.GOL_DRH, :NEW.GOL_DRH); END IF; IF :OLD.AGAMA != :NEW.AGAMA THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'AGAMA', :OLD.AGAMA, :NEW.AGAMA); END IF; IF :OLD.STAT_KWN != :NEW.STAT_KWN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'STATUS PERKAWINAN', :OLD.STAT_KWN, :NEW.STAT_KWN); END IF; IF :OLD.AKTA_KWN != :NEW.AKTA_KWN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'KEPEMILIKAN AKTA PERKAWINAN', :OLD.AKTA_KWN, :NEW.AKTA_KWN); END IF; IF :OLD.NO_AKTA_KWN != :NEW.NO_AKTA_KWN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO. AKTA PERKAWINAN', :OLD.NO_AKTA_KWN, :NEW.NO_AKTA_KWN); END IF; IF :OLD.TGL_KWN != :NEW.TGL_KWN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL PERKAWINAN', :OLD.TGL_KWN, :NEW.TGL_KWN); END IF; IF :OLD.AKTA_CRAI != :NEW.AKTA_CRAI THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'AKTA PERCERAIAN', :OLD.AKTA_CRAI, :NEW.AKTA_CRAI); END IF; IF :OLD.NO_AKTA_CRAI != :NEW.NO_AKTA_CRAI THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO. AKTA PERCERAIAN', :OLD.NO_AKTA_CRAI, :NEW.NO_AKTA_CRAI); END IF; IF :OLD.TGL_CRAI != :NEW.TGL_CRAI THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TANGGAL PERCERAIAN', :OLD.TGL_CRAI, :NEW.TGL_CRAI); END IF; IF :OLD.STAT_HBKEL != :NEW.STAT_HBKEL THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'STATUS HBKEL', :OLD.STAT_HBKEL, :NEW.STAT_HBKEL); END IF; IF :OLD.KLAIN_FSK != :NEW.KLAIN_FSK THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'KELAINAN FISIK', :OLD.KLAIN_FSK, :NEW.KLAIN_FSK); END IF; IF :OLD.PNYDNG_CCT != :NEW.PNYDNG_CCT THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'PENYANDANG CACAT', :OLD.PNYDNG_CCT, :NEW.PNYDNG_CCT); END IF; IF :OLD.PDDK_AKH != :NEW.PDDK_AKH THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'PENDIDIKAN AKHIR', :OLD.PDDK_AKH, :NEW.PDDK_AKH); END IF; IF :OLD.JENIS_PKRJN != :NEW.JENIS_PKRJN THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'PENDIDIKAN AKHIR', :OLD.JENIS_PKRJN, :NEW.JENIS_PKRJN); END IF; IF :OLD.NIK_IBU != :NEW.NIK_IBU THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NIK IBU', :OLD.NIK_IBU, :NEW.NIK_IBU); END IF; IF :OLD.NAMA_LGKP_IBU != :NEW.NAMA_LGKP_IBU THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NAMA IBU', :OLD.NAMA_LGKP_IBU, :NEW.NAMA_LGKP_IBU); END IF; IF :OLD.NIK_AYAH != :NEW.NIK_AYAH THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NIK AYAH', :OLD.NIK_AYAH, :NEW.NIK_AYAH); END IF; IF :OLD.NAMA_LGKP_AYAH != :NEW.NAMA_LGKP_AYAH THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NAMA AYAH', :OLD.NAMA_LGKP_AYAH, :NEW.NAMA_LGKP_AYAH); END IF; IF :OLD.NO_KK != :NEW.NO_KK THEN -- CHECK NAMA LENGKAP INSERT INTO HISTORY_BIODATA_WNI_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'NO KK', :OLD.NO_KK, :NEW.NO_KK); END IF; SELECT COUNT(SEQ_ID_HEADER) INTO VAR_TOT_DETAIL FROM HISTORY_BIODATA_WNI_DETAIL WHERE SEQ_ID_HEADER = VAR_SEQ_ID_HEADER_CURR; IF VAR_TOT_DETAIL = 0 THEN DELETE FROM HISTORY_BIODATA_WNI_HEADER WHERE SEQ_ID_HEADER = VAR_SEQ_ID_HEADER_CURR; END IF; EXCEPTION WHEN OTHERS THEN -- Consider logging the error and then re-raise RAISE; END; / CREATE OR REPLACE TRIGGER ADT_DATA_KELUARGA AFTER UPDATE ON DATA_KELUARGA REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE VAR_SEQ_ID_HEADER_NEXT NATURAL; VAR_SEQ_ID_HEADER_CURR NATURAL; VAR_TOT_DETAIL NUMBER := 0; BEGIN SELECT HIST_DATA_KK_HEADER.NEXTVAL, HIST_DATA_KK_DETAIL.NEXTVAL INTO VAR_SEQ_ID_HEADER_NEXT, VAR_SEQ_ID_HEADER_CURR FROM DUAL; INSERT INTO HISTORY_DATA_KK_HEADER(SEQ_ID_HEADER, NO_KK, ALAMAT, UPDATED_DATE, UPDATED_BY, NO_PROP, NO_KAB, NO_KEC, NO_KEL) VALUES(VAR_SEQ_ID_HEADER_NEXT, :OLD.NO_KK, :OLD.ALAMAT, sysdate, :NEW.MODIFIED_BY, :OLD.NO_PROP, :OLD.NO_KAB, :OLD.NO_KEC, :OLD.NO_KEL); IF :OLD.ALAMAT != :NEW.ALAMAT THEN -- CHECK ALAMAT INSERT INTO HISTORY_DATA_KK_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'ALAMAT', :OLD.ALAMAT, :NEW.ALAMAT); END IF; IF :OLD.NO_RT != :NEW.NO_RT THEN -- CHECK RT INSERT INTO HISTORY_DATA_KK_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'RT', :OLD.NO_RT, :NEW.NO_RT); END IF; IF :OLD.NO_RW != :NEW.NO_RW THEN -- CHECK RW INSERT INTO HISTORY_DATA_KK_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'RW', :OLD.NO_RT, :NEW.NO_RT); END IF; IF :OLD.DUSUN != :NEW.DUSUN THEN -- CHECK DUSUN INSERT INTO HISTORY_DATA_KK_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'DUSUN', :OLD.DUSUN, :NEW.DUSUN); END IF; IF :OLD.KODE_POS != :NEW.KODE_POS THEN -- CHECK KODE POS INSERT INTO HISTORY_DATA_KK_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'KODE POS', :OLD.KODE_POS, :NEW.KODE_POS); END IF; IF :OLD.TELP != :NEW.TELP THEN -- CHECK TELP INSERT INTO HISTORY_DATA_KK_DETAIL(SEQ_ID_DETAIL, SEQ_ID_HEADER, VFIELD_NAME, OLD_VALUE, NEW_VALUE) VALUES(HIST_BIO_WNI_DETAIL.NEXTVAL, VAR_SEQ_ID_HEADER_CURR, 'TELEPHONE', :OLD.TELP, :NEW.TELP); END IF; SELECT COUNT(SEQ_ID_HEADER) INTO VAR_TOT_DETAIL FROM HISTORY_DATA_KK_DETAIL WHERE SEQ_ID_HEADER = VAR_SEQ_ID_HEADER_CURR; IF VAR_TOT_DETAIL = 0 THEN DELETE FROM HISTORY_DATA_KK_HEADER WHERE SEQ_ID_HEADER = VAR_SEQ_ID_HEADER_CURR; END IF; EXCEPTION WHEN OTHERS THEN -- Consider logging the error and then re-raise RAISE; END; / DROP TRIGGER T5_LAPORAN_LOG#GENID; CREATE OR REPLACE TRIGGER T5_LAPORAN_LOG#GENID BEFORE INSERT ON T5_LAPORAN_LOG REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW DECLARE tmpVar NUMBER; BEGIN SELECT max(id_laporan)+1 into tmpVar FROM T5_LAPORAN_LOG; if tmpVar is null then tmpVar:=1; end if; :NEW.id_laporan := tmpVar; EXCEPTION WHEN OTHERS THEN RAISE; END ; / exit;
Copyright ©2021 || Defacer Indonesia