Upload
yogie-putra
View
226
Download
0
Embed Size (px)
Citation preview
7/25/2019 Lapres 4 (Hakim)
1/12
Kamis, 10.00 12.00
PRAKTIKUM BASIS DATA LANJUT
LAPORAN RESMI
MODUL 4 TRIGGER
SESI/NO.MEJA : A3 / 03
NAMA PRAKTIKAN :
M.TAUFIQ AL HAKIM ( 1434010021 )
ASISTEN:
ADHITYA DWI PRASTY! ( 123401001" )
LAILLY SYIFAUL Q!L#Y ( 123401012$ )
LABORATORIUM DESAIN DAN BASIS DATA
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN JAWA TIMUR
20!
7/25/2019 Lapres 4 (Hakim)
2/12
SOAL PRAKTIKUM
1. #%a&'a &i**+ is+&, %-a&+ a +'+&+ -aa &a/+' i %s+ HR. #+ia
&iiasi ia &i**+ /+asi' i/%a& (misa' a&a /+asi' i is+&, a&a
/+asi' i %-a&+ a 'ai s+/a*ai5a..)2. #%a&'a &i**+ %&% m+m/a&asi -+asi is+& a&a% %-a&+ -aa &a/+'
+m-'5++s 5a* a5a i-+/'+a %&% -+*a6ai 5a* m+mi'ii +
-++aa 7AD8PRS9 a 7AD8:P9 s+&a m+mi'ii *ai %a* ai 1;.0003. La%a is+& -aa &a/+' +m-'5++s.
7/25/2019 Lapres 4 (Hakim)
3/12
ANALISA MASALA"
1. A-a 5a* imas% &i**+ ?2. #a*aimaa as%msi@-++'asa &+&a* &i*+ a'am sa' 5a* i/+ia ?
7/25/2019 Lapres 4 (Hakim)
4/12
"ASIL PRAKTIKUM
am/a 1.1. Q%+5 %&% sa' m 1 (1)
am/a 1.2. Q%+5 %&% sa' m 1 (2)
am/a 1.3. Q%+5 %&% sa' m 1 (3)
7/25/2019 Lapres 4 (Hakim)
5/12
am/a 1.4. Q%+5 %&% sa' m 1 (4)
am/a 1.;. Q%+5 %&% sa' m 2 (1)
am/a 1.$. Q%+5 %&% sa' m 2 (2)
am/a 1.B. Q%+5 %&% sa' m 2 (3)
7/25/2019 Lapres 4 (Hakim)
6/12
am/a 1.C. Q%+5 %&% sa' m 3 (1)
am/a 1.". Q%+5 %&% sa' m 3 (2)
7/25/2019 Lapres 4 (Hakim)
7/12
create or replace trigger data_output
after insert or update or delete on employees
for each row
begin
if inserting then
dbms_output.put_line('data insert succes');
elsif updating then
dbms_output.put_line('data update succes');
elsif deleting then
dbms_output.put_line('data delete succes');
end if;
end;
select * from employees
insert into employees(employee_id, last_name, email, hire_date, job_id)
values ('!','ha"im','mipin#$gmail.com','%&&%','+_-/');
update employees
set first_name 0 'm.tafi" al'
where employee_id 0 !
delete employees
where employee_id 0 !
drop trigger data_output
000000000000000000000000000000000000000000000000000000000000000000000000000
create or replace trigger data_employee
before insert or update of salary on employees
for each row
begin
if not(1new.job_id in ('23_-','23_4'))
7/25/2019 Lapres 4 (Hakim)
8/12
and 1new.salary 5 !6777 then
raise_application_error (&7!8,' data tida" mencapai target 999 ');
end if;
end;
insert into employees(employee_id, last_name, email, hire_date, job_id,
salary)
values ('!','ha"im','mipin#$gmail.com','%&&!%%','+_-/','!77777');
update employees
set salary 0 877777
where employee_id 0 !
delete employees
where employee_id 0 !
drop trigger data_employee
000000000000000000000000000000000000000000000000000000000000000000000000000
create or replace trigger data_hari_dan_jam
before insert on employees
begin
if (to_char(sysdate,'dy') in ('sat','sun')) or
(to_char(sysdate, 'hh:') not between '7%177' and '!177') then
raise_application_error (&7#!,'data gagal dimasu""an "arena melewati
batas hari dan jam');
end if;
end;
insert into employees(employee_id, last_name, email, hire_date, job_id)
values ('!','ha"im','mipin#$gmail.com','%&&%','+_-/');
drop trigger data_hari_dan_jam
am/a 1.10. Q%+5 %&% s+m%a sa'
7/25/2019 Lapres 4 (Hakim)
9/12
7/25/2019 Lapres 4 (Hakim)
10/12
PEMBA"ASAN
P++'asa *am/a 1.1, -++'asa ai &i**+ ii ia'a +&ia s+&+'a s+'+sai
m+'a%a is+&, %-a&+ a +'+&+ a&a -aa &a/+' employees, maa aa
m+am-i'a &iiasi, a %&% m+am-i'a &iiasi 5a* /+/+a maa
i/%a&'a -+>a/a*a. Ya* m+ai %>i5a ia'a s5&a
dbms_output.put_line(kalimat output). Eai +&ia s%a m+'a%a is+&, %-a&+
a +'+&+ a&a, maa aa m+>+&a a'ima& %&-%&.
P++'asa *am/a 1.2, -aa *am/a ii ia'a i'a%a is+& a&a,
+m%ia s+&+'a s+'+sai aa m+am-i'a &iiasi data insert succes.
P++'asa *am/a 1.3, -aa *am/a ii ia'a i'a%a %-a&+ a&a,+m%ia s+&+'a s+'+sai aa m+am-i'a &iiasi data update succes.
P++'asa *am/a 1.4, -aa *am/a ii ia'a i'a%a +'+&+ a&a,
+m%ia s+&+'a s+'+sai aa m+am-i'a &iiasi data delete succes.
P++'asa *am/a 1.;, -++'asa ai &i**+ ii ia'a s+/+'%m i&a
m+'a%a is+& a&a% %-a&+ -aa 'm salary 5a* &+a-a& i &a/+' employees,
maa aa i'a%a -+*+>+a +*a s5aa& not(:new.job_id in
('AD_P!"'#'AD_$P')) a&i5a /8i &ia sama +*a AD_P!" a&a% AD_$P
a :new.salary % & a&i5a salary'+/i ai 1;000. Eia a&a >> +*a
s5aa& &+s+%& maa aa 'a%& + s5&a raise_application_error (**&+#' data
tidak mencapai tar,et --- ') a&i5a aa m+am-i'a + +*a + A
**&+ : data tidak mencapai tar,et.
P++'asa *am/a 1.$, -aa *am/a &+s+/%& i'a%a a&a is+& +*a
job_id / 01_P2a salary / &. Eia i'a%a -+*+>+a, a&a &+s+/%&
>> +*a s5aa&, maa &ma&is aa m+am-i'a A**&+ : data tidak
mencapai tar,et5a* s%a i+'asa -aa *am/a 1.;.
P++'asa *am/a 1.B, -aa *am/a &+s+/%& i'a%a a&a %-a&+ +*a
i'ai salary / +. Eia i'a%a -+*+>+a a&a &+s+/%& >> +*a
s5aa&, maa &ma&is aa m+am-i'a A**&+ : data tidak mencapai tar,et
5a* s%a i+'asa -aa *am/a 1.$.
7/25/2019 Lapres 4 (Hakim)
11/12
P++'asa *am/a 1.C, -++'asa ai &i**+ ii ia'a s+/+'%m i&a
m+'a%a is+& -aa &a/+' +m-'5++s, maa aa i'a%a -+*+>+a +*a
s5aa& (to_c3ar(sysdate#'dy') in ('sat'#'sun')) or (to_c3ar(sysdate# '33*4') not between
'5:' and '&6:'). Paa s5&a (to_c3ar(sysdate#'dy') in ('sat'#'sun')) a&i5a
m++&%a ai -aa masi*=masi* -> %s+, ai ai &+s+/%& ia'a sa/&% a
mi**%. K+m%ia -aa s5&a (to_c3ar(sysdate# '33*4') not between '5:' and
'&6:')a&i5a m++&%a am -aa masi*=masi* -> %s+, maa s5aa&5a ia'a
&ia -aa ia&aa am 0"00 sam-ai 1$00. K+m%ia ia a&a >> +*a
s5aa& &+s+/%& maa 'a%& + s5&a raise_application_error (*78'data ,a,al
dimasukkan karena melewati batas 3ari dan jam')a&i5a aa m+am-i'a +
+*a + A*78& : data ,a,al dimasukkan karena melewati batas 3ari dan
jam'.
P++'asa *am/a 1.", -aa *am/a &+s+/%& i'a%a a&a is+& &+&a-i
a&a is+& &+s+/%& i'a%a -aa ai s+'asa, +m%ia -aa am 131;0. Eai
ia i'a%a -+*+>+a maa a&a &+s+/%& >> +*a s5aa&, maa &ma&is
aa m+am-i'a A*78& : data ,a,al dimasukkan karena melewati batas
3ari dan jam'5a* i+'asa -aa *am/a 1.B
P++'asa *am/a 1.10, i&% s+m%a aa'a s+m%a s5&a ai s+m%a sa'
5a* i/+ia.
7/25/2019 Lapres 4 (Hakim)
12/12
KESIMPULAN
Ti**+ m+%-aa M+%-aa /' PL@SQL 5a* m+mi'ii %*si am-i
sama +*a ->+%+ ma%-% %>&i , a5a saa, ia ->+%+ a&a%
%>&i ia'aa s+>aa +s-'isi& '+6a& -+ma**i'a ->+%+ a&a% %>&i
&+s+/%&, s+a*a %&% &i**+, ia'aa s+>aa im-'isi& m+'a'%i -+i&a
is+&, +'+&+ a&a% %-a&+.
Km-+ &i**+ ia&aa5a
#a*ia Ti**+ K+&+a*a %.
I&i
#a&asa 5a*
m+*iia
-+*+s+%sia
&i**+.
W+ (/'+a
a'%+)
Ti**+ &5-+
#+a-a a'i /5
&i**+
i+s+%si.
R6='++'
STATM