Professional Documents
Culture Documents
begin
isi_material('01','Meja',500000,to_date('17/03/2013','dd/mm/yyyy'),10,2);
isi_material('02','Kursi',350000,to_date('17/04/2013','dd/mm/yyyy'),10,3);
isi_material('03','Lemari',250000,to_date('27/03/2013','dd/mm/yyyy'),30,2);
isi_material('04','Kulkas',2500000,to_date('24/03/2013','dd/mm/yyyy'),25,1);
isi_material('05','Kasur',1600000,to_date('21/04/2013','dd/mm/yyyy'),15,2);
end;
=====================================================================
***4. b. Buat Procedure update material***
=====================================================================
create or replace procedure update_material(
pitem_number material.item_number%type,
pitem_description material.item_description%type,
pprice material.price%type,
psale_date material.sale_date%type,
pdiscount material.discount%type,
pqty material.qty%type)
as
psale number;
psum_of_price number;
begin
select sale(pprice,pdiscount) into psale from dual;
select sum_of_price(psale,pqty) into psum_of_price from dual;
update material set item_description=pitem_description,price=pprice,sale_date=ps
ale_date,discount=pdiscount,sale=psale,qty=pqty,total_price=psum_of_price where
item_number=pitem_number;
end update_material;
begin
update_material('01','meja',380000,to_date('17/03/2013','dd/mm/yyyy'),10,2);
end;
=====================================================================
***4. c. Buat Procedure delete material***
=====================================================================
create or replace procedure delete_material(
pitem_number material.item_number%type,
pitem_description material.item_description%type,
pprice material.price%type,
psale_date material.sale_date%type,
pdiscount material.discount%type,
pqty material.qty%type)
as
psale number;
psum_of_price number;
begin
delete from material where item_number=pitem_number;
end delete_material;
begin
delete_material('01','meja',380000,to_date('17/03/2013','dd/mm/yyyy'),10,2);
end;
=====================================================================
***5. Fasilitas untuk membuat trigger***
=====================================================================
create sequence history_user_seq
start with 1 increment by 1
maxvalue 99999 minvalue 1
nocycle
cache 5
noorder;
=====================================================================
***5. a. Buat Trigger insert material***
=====================================================================
create or replace trigger trg_insert_material
before insert
on material
for each row
declare
vdescription varchar2(100);
begin
select :new.item_number into vdescription from dual;
insert into history_user(HISTORY_USER_ID,DESCRIPTION,USER_NAME,TRANS_DATE,CODE_T
RANS,TABLE_NAME)
values(history_user_seq.nextval,vdescription,user,sysdate,'I','material');
end;
insert into material(item_number,item_description,price,sale_date,discount,sale,
qty,total_price)
values('06','Komputer',5000000,to_date('18/07/2013','dd/mm/yyyy'),500000,4500000
,2,9000000)
=====================================================================
***5. b. Buat Trigger update material***
=====================================================================
create or replace trigger trg_update_material
before update
on material
for each row
declare
vdescription varchar2(100);
begin
select :old.ITEM_DESCRIPTION into vdescription from dual;
insert into history_user(HISTORY_USER_ID,DESCRIPTION,USER_NAME,TRANS_DATE,CODE_T
RANS,TABLE_NAME)
values(history_user_seq.nextval,vdescription,user,sysdate,'U','material');
end;
update material set item_description='Cooler' where item_number ='02'
=====================================================================
***5. c. Buat Trigger delete material***
=====================================================================
create or replace trigger trg_delete_material
before delete
on material
for each row
declare
vdescription varchar2(100);
begin
select concat(:old.ITEM_NUMBER,:old.ITEM_DESCRIPTION) into vdescription from dua
l;
insert into history_user(HISTORY_USER_ID,DESCRIPTION,USER_NAME,TRANS_DATE,CODE_T
RANS,TABLE_NAME)
values(history_user_seq.nextval,vdescription,user,sysdate,'D','material');
end;
delete from material where item_number ='06'
<?php
$conn = oci_connect('isna','i123'); // This assumes you followed the Getting Sta
rt guide...
$sql = "SELECT * FROM material";
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
echo '<pre>';
while ( $row = oci_fetch_assoc($stmt) ) {
print_r($row);
}
echo '</pre>';
?>