You are on page 1of 3

CREATE OR REPLACE PROCEDURE pr_cariemp DBMS_OUTPUT.

PUT_LINE(empid||''||empfir||''||emplas||''||
(empid in char) is empsal);
empfir VARCHAR2(3O); END;
emplas VARCHAR2(30); /
emplas NUMBER (30); ------------------------------------------------------------
BEGIN BEGIN
SELECT first_name, last_name, salary into pr_cariemp(120);
empfir, emplas, empsal from EMPLOYEES WHERE END;
employee_id=empid; /
------------------------------------------------------------
CREATE OR REPLACE PROCEDURE pr_cariemp2 (depid in
cahr) is
emppid VARCHAR2(3O);
empfir VARCHAR2(30);
empsal NUMBER (30);
CURSOR emp_cursor is SELECT employee_id, first_name,
salary from EMPLOYEES WHERE department_id=depid;
BEGIN
OPEN emp_cursor;
LOOP
FETCH emp_cursor into empid, empfir, empsal;
DBMS_OUTPUT.PUT_LINE(empid||''||empfir||''||empsal);
END LOOP;
END;
/
------------------------------------------------------------
DECLARE
CURSOR emp_cursor is SELECT employee_id, first_name,
job_id, hire_date FROM EMPLOYEES;
empid employees.employee_id%TYPE;
empfir employees.first_name%TYPE;
empjob employees.job_id%TYPE;
empdat employees.hire_date%TYPE;
BEGIN
FETCH emp_cursor INTO empid, empfir, empjob, empdat;
EXIT WHEN emp_cursor%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(empid||''||empfir||''||empjob||''||
empdat);
EXIT LOOP;
END;
/
------------------------------------------------------------
CREATE TABLE lt_mhs(nim CHAR(10) PRIMARY KEY, nama
VARCHAR2(30));
------------------------------------------------------------
CREATE OR REPLACE PROCEDURE tambah_mhs(Nim IN
lt_mhs.nim%TYPE, Nama IN lt_mhs.nama%TYPE) IS
BEGIN
IF (Nim IS NOT NULL) AND (Nama IS NOT NULL) THEN
INSERT INTO lt_mhs(nim,nama) VALUES(NIm,Nama);
END IF;
END;
/
------------------------------------------------------------
BEGIN
tambah_mhs('2012110001','Nana');
tambah_mhs('2012110002','Koko');
tambah_mhs('2012110003','Toto');
END;
/
------------------------------------------------------------
CREATE OR REPLACE TRIGGER sbl_mhs
BEFORE INSERT ON lt_mhs
FOR EACH ROW
BEGIN
DBMS_OUTPUT.PUT_LINE('Trigger BEFORE INSERT
dilaksanakan');
END;
/
------------------------------------------------------------
CREATE TABLE lt_mtkuliah(kode_mk CHAR(6) PRIMARY KEY,
nama_mk VARCHAR2(30));
------------------------------------------------------------
CREATE OR REPLACE PROCEDURE tambah_mtkuliah(Kode /
IN lt_mtkuliah.kode_mk%TYPE, Nmk IN ------------------------------------------------------------
lt_mtkuliah.nama_mk%TYPE) IS BEGIN
BEGIN tambah_nilai('2012110001','SI001',75,70,80);
IF (Kode IS NOT NULL) AND (Nmk IS NOT NULL) THEN tambah_nilai('2012110002','SI001',70,75,85);
INSERT INTO lt_mtkuliah(kode_mk,nama_mk) tambah_nilai('2012110003','SI001',75,70,85);
VALUES(Kode,Nmk); END;
END IF; /
END; ------------------------------------------------------------
/ CREATE OR REPLACE PROCEDURE lt_hitunga (Kode IN
------------------------------------------------------------ lt_nilai.kode_mk%TYPE) IS
BEGIN BEGIN
tambah_mtkuliah('SI001','Pancasila'); UPDATE lt_nilai
tambah_mtkuliah('SI002','Bahasa Indonesia'); SET aa=0.2*tugas+0.3*uts+0.5*uas WHERE
tambah_mtkuliah('SI003','Bahasa Inggris'); kode_mk=Kode;
END; END;
/ /
------------------------------------------------------------ ------------------------------------------------------------
CREATE TABLE lt_nilai(nim CHAR(6), kode_mk NUMBER(6), BEGIN
tugas NUMBER(6,2), uts NUMBER(6,2), uas NUMBER(6,2), lt_hitunga('SI001');
na CHAR(1), PRMARY KEY(nim, kode_mk), FOREIGN lt_hitunga('SI002');
KEY(nim) REFERENCES lt_mhs(nim),FOREIGN lt_hitunga('SI003');
KEY(kode_mk) REFERENCES lt_mtkuliah(kode_mk)); END;
------------------------------------------------------------ /
CREATE OR REPLACE PROCEDURE tambah_nilai(ni IN ------------------------------------------------------------
lt_nilai.nim%TYPE, kod IN lt_nilai.kode_mk%TYPE, tu IN CREATE OR REPLACE TRIGGER upd_nilai
lt_nilai.tugas%TYPE, ut IN lt_nilai.yts%TYPE, ua IN AFTER UPDATE ON lt_nilai
lt_nilai.uas%TYPE) IS FOR EACH ROW
BEGIN BEGIN
IF (ni IS NOT NULL) AND (kod IS NOT NULL) AND (tu IS DBMS_OUTPUT.PUT_LINE('Trigger AFTER UPDATE
NOT NULL) AND (ut IS NOT NULL) AND (ua IS NOT NULL) dilaksanakan');
THEN INSERT INTO lt_nilai(nim,kode_mk,tugas,uts,uas) END;
VALUES(ni,kod,tu,ut,ua); /
END IF; ------------------------------------------------------------
END;

You might also like