You are on page 1of 4

no.

1 CREATE PROCEDURE GET_EMPLOYEEBY ( IN INPUT_EMPNO CHARACTER(6) ) LANGUAGE SQL P1: BEGIN DECLARE VK1 CURSOR WITH RETURN FOR SELECT E.EMPNO, (FIRSTNME ||' ' || MIDINIT|| ' ' || LASTNAME) NAMA, D.DEPTNAME, YEAR(CURRENT_DATE-HIREDATE) MASA_KERJA, COUNT(*)TOTAL_PROJACT FROM EMPLOYEE E, DEPARTMENT D, EMPPROJACT EP WHERE E.WORKDEPT = D.DEPTNO AND E.EMPNO = EP.EMPNO; GROUP BY E.EMPNO; OPEN VK1; END P1@ ----------------------------------------------------------------------------------------------------------------------------------------------------------NO.3 CREATE PROCEDURE UPD_EMPLOYEE ( IN_EMPNO VARCHAR(6) ) DYNAMIC RESULT SETS 1 LANGUAGE SQL BEGIN DECLARE SQLSTATE CHAR(5) DEFAULT '00000'; DECLARE ERRSTATE CHAR(5) DEFAULT '00000'; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET ERRSTATE = SQLSTATE; INSERT INTO DB2ADMIN.EMPLOYEE(EMPNO) VALUES(IN_EMPNO); IF ERRSTATE = '00000' THEN BEGIN DECLARE RS1 CURSOR WITH RETURN FOR SELECT ERRSTATE AS SQLSTATE, 'Data berhasil disimpan' MESSAGE FROM SYSIBM.DUAL; OPEN RS1; END; ELSEIF ERRSTATE = '23505' THEN BEGIN DECLARE RS1 CURSOR WITH RETURN FOR SELECT ERRSTATE AS SQLSTATE, 'EMPNO yang sama sudah ada, harap diganti den gan yang lain' MESSAGE FROM SYSIBM.DUAL; OPEN RS1; END; ELSE BEGIN DECLARE RS1 CURSOR WITH RETURN FOR SELECT ERRSTATE AS SQLSTATE, 'Data gagal disimpan' MESSAGE

FROM SYSIBM.DUAL; OPEN RS1; END; END IF; END P1@ --------------------------------------------------------------------------------------------------------------------------------------------------------------------NO. 5 CREATE TABLE DB2ADMIN.NEWPROJECT ( PROJNO CHAR(6) NOT NULL , PROJNAME VARCHAR(24) NOT NULL WITH DEFAULT '' , DEPTNO CHAR(3) NOT NULL , RESPEMP CHAR(6) NOT NULL , PRSTAFF DECIMAL(5,2) , PRSTDATE DATE , PRENDATE DATE , MAJPROJ CHAR(6), PROJNO_X_PROJNO CHAR(6) NOT NULL , PROJNAME_X_PROJNAME VARCHAR(24) NOT NULL WITH DEFAULT '' , DEPTNO_X_DEPTNO CHAR(3) NOT NULL , RESPEMP_X_RESPEMP CHAR(6) NOT NULL , PRSTAFF_X_PRSTAFF DECIMAL(5,2) , PRSTDATE_X_ DATE , PRENDATE_X_PRENDATE DATE , MAJPROJ_X_MAJPROJ CHAR(6), WAKTU TIMESTAMP, ID_PROSES CHARACTER(1) ) CREATE TRIGGER DB2ADMIN.PROCJINSERT AFTER INSERT ON DB2ADMIN.PROJECT REFERENC ING NEW AS NEW NEW_TABLE AS OLD FOR EACH ROW MODE DB2SQL INSERT INTO DB2ADMIN.NEWPROJECT( PROJNO , PROJNAME , DEPTNO , RESPEMP , PRSTAFF , PRSTDATE , PRENDATE , MAJPROJ , WAKTU , ID_PROSES ) VALUES( NEW.PROJNO , NEW.PROJNAME, NEW.DEPTNO, NEW.RESPEMP, NEW. PRSTAFF , NEW. PRSTDATE , NEW. PRENDATE , NEW.MAJPROJ, CURRENT_TIMESTAMP, 'I')

CREATE TABLE DB2ADMIN.NEWPROJECT ( PROJNO CHAR(6) NOT NULL , PROJNAME VARCHAR(24) NOT NULL WITH DEFAULT '' , DEPTNO CHAR(3) NOT NULL , RESPEMP CHAR(6) NOT NULL , PRSTAFF DECIMAL(5,2) , PRSTDATE DATE , PRENDATE DATE , MAJPROJ CHAR(6), PROJNO_X_PROJNO CHAR(6) NOT NULL , PROJNAME_X_PROJNAME VARCHAR(24) NOT NULL WITH DEFAULT '' , DEPTNO_X_DEPTNO CHAR(3) NOT NULL , RESPEMP_X_RESPEMP CHAR(6) NOT NULL , PRSTAFF_X_PRSTAFF DECIMAL(5,2) , PRSTDATE_X_ DATE , PRENDATE_X_PRENDATE DATE , MAJPROJ_X_MAJPROJ CHAR(6), WAKTU TIMESTAMP, ID_PROSES CHARACTER(1) ) CREATE TRIGGER DB2ADMIN.PROCJDEL BEFORE DELETE ON DB2ADMIN.PROJECT REFERENCING NEW AS NEW NEW_TABLE AS OLD FOR EACH ROW MODE DB2SQL INSERT INTO DB2ADMIN.NEWPROJECT( PROJNO , PROJNAME , DEPTNO , RESPEMP , PRSTAFF , PRSTDATE , PRENDATE , MAJPROJ , WAKTU , ID_PROSES ) VALUES( NEW.PROJNO , NEW.PROJNAME, NEW.DEPTNO, NEW.RESPEMP, NEW. PRSTAFF , NEW. PRSTDATE , NEW. PRENDATE , NEW.MAJPROJ, CURRENT_TIMESTAMP, 'D') CREATE TRIGGER DB2ADMIN.PROCJUP AFTER INSERT ON DB2ADMIN.PROJECT REFERENCING NEW AS NEW NEW_TABLE AS OLD FOR EACH ROW MODE DB2SQL INSERT INTO DB2ADMIN.NEWPROJECT( PROJNO , PROJNAME , DEPTNO , RESPEMP , PRSTAFF , PRSTDATE , PRENDATE , MAJPROJ , WAKTU ,

ID_PROSES ) VALUES( NEW.PROJNO , NEW.PROJNAME, NEW.DEPTNO, NEW.RESPEMP, NEW. PRSTAFF , NEW. PRSTDATE , NEW. PRENDATE , NEW.MAJPROJ, CURRENT_TIMESTAMP, 'U')

You might also like