Anda di halaman 1dari 5

Trismatin

15-2009-053

1. Sintaks Pembuatan Tabel


--tabel barang
create table barang (
kode_barang varchar(10) constraints brg_kdbrg primary key,
nama_barang varchar(20),
harga_barang number(9)
);

--tabel pesanan
create table pesanan (
no_pesanan varchar(10),
kode_barang varchar(10),
jumlah number (4),
constraints psn_kdbrg_fk foreign key
(kode_barang) references barang (kode_barang),
constraints psn_pk
PRIMARY KEY (no_pesanan, kode_barang)
);

2. Pembuatan prosedur isi data dan eksekusinya


--prosedur isi data pada tabel barang
create or replace procedure isi_data_brg
(kode_barang varchar,
nama_barang varchar,
harga_barang in number)
as

begin

INSERT INTO BARANG VALUES(kode_barang, nama_barang,


harga_barang);
COMMIT;
END;
/
--prosedur isi data pada tabel pesanan
create or replace procedure isi_data_psn
(no_pesanan varchar,
kode_barang varchar,
jumlah in number)
as

begin

INSERT INTO pesanan VALUES(no_pesanan, kode_barang, jumlah);


COMMIT;
END;
/

--eksekusi prosedur isi_data_brg


execute isi_data_brg ('BRG01', 'BAJU ANAK', 100000);
execute isi_data_brg ('BRG02', 'CELANA ANAK', 50000);
execute isi_data_brg ('BRG03', 'TOPI ANAK', 25000);
--eksekusi prosedur isi_data_psn
execute isi_data_psn ('PSN01', 'BRG02', 2);
execute isi_data_psn ('PSN02', 'BRG01', 5);
3. Membuat Prosedur menghitung total dan eksekusinya.

CREATE OR REPLACE FUNCTION total (p_no_pesanan in varchar) RETURN


varchar AS
v_total NUMBER;
BEGIN
SELECT jumlah * barang.harga_barang INTO v_total
FROM pesanan, barang
where pesanan.kode_barang = barang.kode_barang and p_no_pesanan =
pesanan.no_pesanan;
RETURN v_total;
END total;
/

--eksekusi total pesanan01

select total ('PSN01') as Total_Pesanan from dual;


--eksekusi total pesanan02
select total ('PSN02') as Total_Pesanan from dual;

Tabel barang

Tabel pesanan

Beri Nilai