Senin, 16 Mei 2011

procedure, fungction, dan array

1.
Function adalah suatu blok PL/SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (return value).
Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.

Procedure dalah sebuah blok PL/SQL yang dapat berdiri sendiri serta dikompilasi untuk selanjutnya masuk ke dalam skema database.
Nama procedure yang dibuat kemudian menjadi objek dengan tipe procedure. Procedure akan dieksekusi pada saat pemanggilan setelah sebelumnya dibuat terlebih dahulu.

Array adalah ipe data bentukan yang dapat menyimpan sekumpulan nilai dari tipe data yang sama dan dikemas dalam bentuk larik.

2. Contoh function
CREATE OR REPLACE FUNCTION tulis_teks RETURN VARCHAR2 AS
S VARCHAR2(20)
BEGIN
S := ‘HALLO SEMUA’;
RETURN S;
END;
contoh lain :
SET SERVEROUTPUT ON
DECLARE
X VARCHAR2(20);
BEGIN
X := tulis_teks;
DBMS_OUTPUT.PUT_LINE(X);
END;
/

Contoh procedure
SET SERVEROUTPUT ON
CREATE OR REPLACE PROCEDURE hitung_luas_segitiga AS
alas NUMBER(5);
tinggi NUMBER(5);
luas NUMBER(10);
BEGIN
alas := 3;
tinggi := 6;
luas := (alas * tinggi) / 2;
DBMS_OUTPUT.PUT_LINE(‘LUAS = ‘ || luas);
END;
/
…………………………………
EXECUTE hitung_luas_segitiga;
contoh lain
CREATE OR REPLACE PROCEDURE
tambah_dua ( a IN INTEGER) AS
hasil INTEGER(5);
BEGIN
hasil := a + 2;
DBMS_OUTPUT.PUT_LINE (‘Hasil akhir = ‘ || hasil);
END;
/
………………………………
EXECUTE tambah_dua(4);

contoh array
SET SERVEROUTPUT ON;
DECLARE
TYPE LARIK IS
TABLE OF NUMBER
INDEX BY BINARY_INTEGER;
A LARIK;
I INTEGER;
BEGIN
FOR I IN 1..5 LOOP
A(I) := I * 10;
END LOOP;
FOR I IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE(‘Nilai elemen larik ke-’ || TO_CHAR(I) || ‘ = ‘ || TO_CHAR(A(I)));
END LOOP;
END;
/
contoh lain
SET SERVEROUTPUT ON;
DECLARE
TYPE SISWA IS
TABLE OF VARCHAR2(25)
INDEX BY BINARY_INTEGER;
NAMA SISWA;
I INTEGER;
BEGIN
NAMA(1) := ‘Arista Destriana’;
NAMA(2) := ‘Yandri Gunawan’;
FOR I IN 1..2 LOOP
DBMS_OUTPUT.PUT_LINE(‘Nama siswa ke-’ || TO_CHAR(I) || ‘ : ‘ || NAMA(I));
END LOOP;
END;
/

0 komentar:

Poskan Komentar

 
Copyright © 2010 Life is only once, so take the chance to Enjoy. All rights reserved.
Blogger Template by