Professional Documents
Culture Documents
Jawaban PL SQL
Jawaban PL SQL
Rem File : No 3
Create or replace function fbonus(tt_jual number)
Return number is
Vbonus number:=0;
Begin
If tt_jual<=5000000 then
Vbonus:=10/100*tt_jual;
Else
Vbonus:=20/100*tt_jual;
End if;
Return vbonus;
End;
/
Select na_cust, tt_jual,fbonus(tt_jual) as fbonus from xcustomer;
Rem File : No 4
Create or replace procedure hapus_customer(pkd_cust varchar2, hasil out varchar2) is
Vtt_jual number(12);
Begin
Select tt_jual into vtt_jual from xcustomer where kd_cust=pkd_cust;
If vtt_jual >0 then
Hasil:=Data tidak dapat dihapus, tt_jual>0;
Else
Delete from xcustomer where kd_cust=pkd_cust;
Hasil:=Data sudah dihapus;
End if;
End;
/
Declare
Vnama varchar2(70) :=A03;
Vket varchar2(70);
Begin
Hapus_customer(vnama,vket);
Dbms_output.put_line (Hasilnya = ||vket);
End;
/
Rem File : No 5
Create or replace procedure banding(num1 number,num2 number) is
Begin
If num1>num2 then
Dbms_output.put_line (Angka pertama lebih besar dari angka kedua);
Elsif num1=num2 then
Dbms_output.put_line (Angka pertama sama dengan angka kedua);
Else
Dbms_output.put_line (Angka kedua lebih besar dari angka pertama);
End if;
End;
/
Begin
Banding(5,5);
End;
/
Rem File : No 6
Alter table xcustomer add(tgl_mulai date);
Create or replace trigger tgl_skrg
Before insert on xcustomer
For each row
Begin
:new.tgl_mulai :=sysdate;
End tgl_skrg;
/
insert into xcustomer(kd_cust,na_cust,alamat,tt_jual) values('X02','AGUS','Jl. DI Panjaitan 128',1000)
/
Rem File : No 7
Create table t_auditcust as select * from xcustomer
Where 1=2;
/
Alter table t_auditcust add(tgl_hapus date, nm_user varchar2(20));
Create or replace trigger catat_hapus
After delete on xcustomer
For each row
Begin
Insert into t_auditcust values(:old.kd_cust,
:old.na_cust,:old.alamat,:old.tt_jual,
:old.tgl_mulai,sysdate,user);
End catat_hapus;
/
Rem File : No. 8.
Create or replace trigger update_faktur_d
Before update of kd_stok
On faktur_d
For each row
declare
vHrg_new number;
Begin
Update stok set keluar=keluar-:old.unit where kd_stok=:old.kd_stok;
Update stok set keluar=keluar+:old.unit where kd_stok=:new.kd_stok;
Select hrg_jual into vhrg_new from stok where kd_stok=:new.kd_stok;
:new.hrg_satuan :=vhrg_new;
End update_faktur_d;
/