Rabu, 14 Desember 2011

Packages

Packages

Package adalah sebuah schema object yang mengelompokkan PL/SQL types, items, dan subprograms, yang terkait secara logikal. Packages biasanya memiliki dua bagian, sebuah specification dan sebuah body, meskipun kadangkala body tersebut tidak diperlukan. Specification (atau spec) merupakan antarmuka terhadap aplikasi-aplikasi kita; ia mendeklarasikan types, variables, constants, exceptions, cursors, dan subprograms yang tersedia untuk digunakan. Body secara penuh mendefinisikan cursors dan subprograms, dan juga mengimplementasikan spec.


Procedure

PROCEDURE


Procedure adalah sub program yang digunakan untuk melakukan proses tertentu dan tidak mengembalikan nilai, bisa disimpan dalam database sebagai object schema, sehingga suatu procedure bisa digunakan berulangkali tanpa harus melakukan parsing dan compile ulang.
Procedure dibedakan menjadi yaitu Procedure berparameter dan Procedure tak berparameter.

Contoh Procedure berparameter


Contoh Procedure tanpa parameter



 

Fuction

FUNCTION

Function atau fungsi adalah blok PL/SQL yang dapat mengembalikan nilai. Maka dari itu dalam pembuatannya juga harus menggunakan statemen RETURN untuk proses pengembalian nilai. berbeda dengan procedure atau prosedur yang diaktivasi oleh statemen EXECUTE.

Berikut adalah bentuk umum untuk membuat sebuah function :
CREATE OR REPLACE FUNCTION nama_function
(parameter_1 tipedata, parameter_2 tipedata, .......)
RETURN tipedata_function IS
variable-variable _lokal
BEGIN
statemen;
...
RETURN nilai_function;
END;

Sebagai contoh, di sini akan membuat sebuah fungsi yang dapat mengembalikan sebuah nama suplier yang memiliki kode "EJ-01".
create or replace function cari_NamaSuplier
return supplier.nama_suplier%TYPE is
vNamaSuplier suplier.nama_suplier%TYPE;
begin

select nama_suplier into vNamaSuplier from suplier
where kode_suplier = 'EJ-01';

return vNamaSuplier;
end;


Penjelasan :

a. create or replace function

Statemen CREATE digunakan untuk membuat function dan REPLACE digunakan untuk mengganti isi dari function jika nama function sudah ada dalam database.

b. return supplier.nama_suplier%TYPE is vNamaSuplier suplier.nama_suplier%TYPE

Artinya mendeklarasikan sebuah variabel yang bernama vNamasuplier dan %TYPE menunjukkan bahawa tipe data sama dengan kolom nama_suplier yang ada pada tabel suplier

c. select nama_suplier into vNamaSuplier from suplier where kode_suplier = 'EJ-01'

Ini adalah blok PL/SQL yang digunakan untuk menampilkan nama suplier dari tabel suplier yang berkode 'EJ-01'. Selanjutnya nama tersebut disimpan ke variabel vNamasuplier.

d. return vNamaSuplier;

Ini adalah nilai baliknya pada variabel vNamaSuplier.



Pemanggilan Fungsi

Pada fungsi kita dapat langsung memasukkan nilai ke dalam suatu variabel yang sama tipenya. Perhatikan contoh berikut ini :
SQL>declare
1 nama suplier.nama_suplier%TYPE;
2 begin
3 --memasukkan nilai yang dikembalikan fungsi kedalam variabel nama
4 nama := cari_NamaSuplier%TYPE;
5 dbms_output.put_line(nama);
6 end;
7 /
PT. ACTRON

PL/SQL procedure succesfully completed.

SQL>

Variable PL/SQL

PL / SQL
PL/SQL adalah bahasa pemrograman yang merupakan perluasan dari Structured Query Language.PLPL/SQL merupakan bahasa pemrograman yang menggabungkan bahasa procedural, seperti pernyataan percabangan (IF-THEN-ELSE), pengulangan (LOOP) dan deklarasi variable. merupakan singkatan dari Prosedural Language.

variabel adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di
memori komputer. 
 
Penggunaan Variabel
Variabel dalam PL/SQL dapat digunakan untuk :
  • Penyimpanan data sementara
  • Manipulasi nilai yang sudah tersimpan : Varibel dapat digunakan untuk proses manipulasi nilai yang sudah tersimpan dalam database Oracle.
  • Reusability : Variabel dapat digunakan kembali dengan melakukan referensi daristatement yang lain
  • Memudahkan maintenance : Pada penggunaan %TYPE dan %ROWTYPE, deklarasi variable dibuatberdasarkan definisi dari kolom database -> in the next session

Aturan Penamaan Variabel
 Variabel diberi nama sesuai dengan aturan, misal v_name presentasikan suatu variable, jadi nama dari variable selalu diawali denganv diikuti dengan underscore (_) lalu nama variabelnya.
 
DECLARE
v_job                VARCHAR2(9);
v_count             BINARY_INTEGER := 0;
v_total_sal         NUMBER(9,2) := 0;
v_orderdate       DATE := SYSDATE + 7;
c_tax_rate         CONSTANT NUMBER(3,2) := 8.25;
v_valid               BOOLEAN NOT NULL := TRUE;
 
Contoh :

DECLARE
X integer;
Alamat varchar2(40);
No_induk char(8);
…..
BEGIN
X := 12;
Alamat := ‘Gelatik Dalam 391, Bandung’;
No_induk := ‘DOG29549’;
END;

Materi Presentasi

Link Download Materi Presentasi
 
http://www.ziddu.com/download/17818864/PBD2.rar.html