Thursday 12 March 2015

Tugas Pendahuluan Praktikum Data Mining "Stored Program"

Tugas Pendahuluan Praktikum Data Mining
Modul 4


Stored Program

1. Menjalankan serta menjelaskan script sql Plus dari PROCEDURE yang ada pada modul :

Mendeklarasikan di dalam Declaration Section :
PROCEDURE calc_bonus (emp_id IN INTEGER, bonus OUT REAL)
IS hire_date DATE;

Memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL :
bonus_missing EXCEPTION;

Memuat pernyataan-pernyataan PL/SQL yang akan ditulis :
BEGIN
SELECT sal*0.10,hiredate INTO bonus,hire_date FROM emp WHERE
empno = emp_id;
IF bonus IS NULL THEN RAISE bonus_missing;

Code akhir dari program :
END IF;
IF MONTHS_BETWEEN(SYSDATE,hire_date)>60
THEN bonus:=bonus + 500;
END IF;
EXCEPTION
WHEN bonus_missing THEN
END calc_bonus;

2. Jalankan, apa outputnya dan analisa PACKAGE dibawah ini :

Menambah serta mengganti fungsi variabel pada tabel :
CREATE OR REPLACE PACKAGE lihat IS FUNCTION is_kartu
(id pembayaran.id_pembayaran%TYPE) RETURN number;

Mendeklarasikan di dalam Declaration Section suatu blok PL/SQL :
PROCEDURE all_kartu;

Kode akhir program :
END;

Menambah serta mengganti fungsi variabel pada tabel :
CREATE OR REPLACE PACKAGE BODY lihat IS FUNCTION is_kartu
(id pembayaran.id_pembayaran%TYPE) RETURN number IS
kartu pembayaran.pembayaran_kartu%TYPE;
tunai pembayaran.pembayaran_tunai%TYPE;

Memuat pernyataan-pernyataan PL/SQL yang akan ditulis:
BEGIN
SELECT pembayaran.pembayaran_kartu,
pembayaran.pembayaran_tunai INTO kartu,tunai
FROM pembayaran WHERE id=pembayaran.id_pembayaran;
IF kartu>=tunai THEN RETURN (1);
ELSE RETURN (0);
END IF;
END;
PROCEDURE all_kartu IS CURSOR c_pembayaran IS
SELECT * FROM pembayaran WHERE
is_kartu (pembayaran.id_pembayaran)=1;
nama pemesan.nama_pemesan%TYPE;
id pembayaran.id_pembayaran%TYPE;
BEGIN
DBMS_OUTPUT.PUT_LINE('----------------------');
FOR x IN c_pembayaran LOOP
id:=x.id_reservasi;
SELECT c.nama_pemesan INTO nama FROM reservasi b,
pemesan c WHERE id=b.id_reservasi AND
b.id_pemesan=c.id_pemesan;
DBMS_OUTPUT.PUT_LINE(c_pembayaran%ROWCOUNT||'.'||x.id_
pembayaran||' pada tanggal'||x.tgl_pembayaran||'oleh
'||nama);

Kode akhir program :
END LOOP;
END;
END;

Mengeksekusi :
EXECUTE lihat.all_kartu;


Demikian yang dapat saya bagikan pada kesempatan kali ini, tunggu update informasi serta tutorial selanjutnya. Terima Kasih dan Semoga Bermanfaat ...
By : Adjie_ss

0 komentar:

Post a Comment