MATAKULIAH : PBD 2
NAMA DOSEN :Titik Lusiani, M.Kom, OCA
BLOG :DOSEN :http://blog.stikom.edu/lusiani
POCEDURE,FUNCTION DAN
PACKAGE
- PROCEDURE
Procedure
adalah suatu blok PL/SQL
yang menyimpan sekumpulan perintah yang tidak disertai dengan pengembalian
nilai. Dengan kata lain, procedure hanya melakukan proses tertentu saja.
Syntax untuk membuat procedure
CREATE [OR
REPLACE] PROCEDURE nama_procedure
(parameter_1
tipedata, parameter_2 tipedata, …) IS
variabel-variabel_lokal
BEGIN
Statemen;
……
END;
- FUNCTION
Function adalah sebuah blok PL/SQL yang dapat mengembalikan
nilai. Maka dari itu dalam pembuatannya harus menggunakan statemen RETURN untuk
proses pengembalian nilai.
2.1 Syntax untuk membuat function
CREATE OR REPLACE
FUNCTION nama_function
(parameter_1
tipedata, parameter_2 tipedata, …) IS
RETURN
tipedata_function IS
variabel-variabel_lokal
BEGIN
Statemen;
……
RETURN nilai_function;
END;
Contoh Syntax:
CREATE OR
REPLACE PROCEDURE LAP_DEPARTMEN AS
BEGIN
for deptid in
(SELECT d.department_id,
department_name,
count(employee_id)
jml
FROM
departments d, employees e
WHERE d.department_id = e.department_id(+)
GROUP BY d.department_id, department_name)
loop
dbms_output.put_line
(deptid.department_id ||‘Kode dari departemen‘ ||
deptid.department_name
||
‘
dengan jumlah karyawan = ‘ || deptid.jml);
for
emp in
(select employee_id, last_name
from employees
where department_id=deptid.department_id)
loop
dbms_output.put_line(‘
‘||emp.employee.id||
‘
‘||emp.last_name);
end
loop;
end loop;
END
LAP_DEPARTMEN;
Panggil
procedure tersebut dengan mengetikkan perintah
exec
lap_departmen;
CREATE OR REPLACE
FUNCTION RATAGAJI
(deptid IN NUMBER)
RETURN NUMBER AS
sal number := 0.0;
BEGIN
select avg(salary) into sal from employee
where department_id=deptid;
RETURN sal;
END
RATAGAJI;
Syntax Memanggil Function
select department_id,
department_name,
ratagaji(department_id)
“RATA-RATA GAJI”
from
departments;
- Package
Keuntungan Menggunakan PACKAGE :
- Modularity
- Memudahkan dalam hal Maintenance
- Memudahkan dalam hal design aplikasi
- Dapat Menyembunyikan Informasi, karena yang hanya ditampilkan dalam sebuah aplikasi hanya parent atau spesifikasinya saja, sedangkan body nya disembunyikan dan tidak dapat diakses.
- Added functionality
- Meningkatkan Performance
- Dapat menggunakan Overloading
- Bagian Spesifikasi atau Parent
- Bagian Body
Syntax Package Parent :
CREATE [OR REPLACE] PACKAGE package_name IS|AS
public type and variable declarations
subprogram specifications
END [package_name];
Syntax Package Body :
CREATE [OR REPLACE] PACKAGE BODY package_name IS|AS
private type and variable declarations
subprogram bodies
[BEGIN initialization statements]
END [package_name];
Tidak ada komentar:
Posting Komentar