Minggu, 18 April 2010

PL / SQL

Assalamualaikum.wr.wb

Pade tulisan kali ini aye akan membuat suatu kumpulan coding pada program PL/SQL.PL/SQL adalah peningkatan perintah SQL dalam bentuk pemrograman prosedural.
DML dan SELECT dari perintah SQL berada dalam PL/SQL.
PL/SQL Engine akan memecah perintah blok PL/SQL menjadi PL/SQL (dikerjakan oleh Procedural Statement Executor dari PL/SQL Engine) dan SQL (dikerjakan oleh SQL Statement Executor dari Oracle Server).

Keuntungan Penggunaan PL/SQL

Integrasi
Memungkinkan Aplikasi dan Oracle Server menggunakan Library yang dapat digunakan bersama-sama dalam bentuk stored procedure.

Peningkatan Kinerja
Penggunaan PL/SQL, memungkinkan pengiriman perintah secara blok dalam satu perintah yang secara drastis dapat menurunkan trafik jaringan.

Modular
* Bentuk modular memungkinkan banyak kemudahan yang dapat diperoleh.

Portable
* PL/SQL adalah sarana yang asli dimiliki oleh Oracle Server, artinya, program PL/SQL dapat dengan mudah dipindahkan dari satu Oracle Server ke Oracle Server lainnya, meskipun dengan OS atau platform yang berbeda.

Dapat mendeklarasikan Variable
* Dapat berupa Variable, Constant, Cursor dan Exception.
* Penggunaan variable/identifier sangat memudahkan dalam membuat suatu perintah. Misalkan untuk membaca hasil suatu perintah SELECT untuk diproses dan hasilnya digunakan untuk melakukan proses lainnya.

Dapat menggunakan Struktur Kontrol
* LOOP, FOR, WHILE

Dapat menangani Error
* Error bisa dihasilkan/dibangkitkan oleh Oracle Server atau bisa dibangkitkan sendiri dengan sengaja.
* Untuk mengantisipasi berbagai hal yang barangkali sulit untuk ditangani secara langsung menggunakan kontrol program.

Pemanggilan PL/SQL
* Langsung dari SQL-Plus
* Dari Aplikasi
* Dari PL/SQL lainnya

Coding – coding :

1. Procedure

CREATE OR REPLACE PROCEDURE LUAS_SEGITIGA (A IN NUMBER, T IN NUMBER)

AS LUAS NUMBER(10) ;

BEGIN

LUAS := (A * T) /2 ;

DBMS_OUTPUT.PUT_LINE('LUAS =' ||LUAS);

END;

MANGGIL : EXECUTE LUAS_SEGITIGA (3,5) ;

2. Function

CREATE OR REPLACE FUNCTION NAMA RETURN VARCHAR AS

BEGIN

RETURN 'HIDAN' ;

END;

MANGGIL : SELECT NAMA FROM DUAL;

CREATE OR REPLACE FUNCTION LUAS_SEGI(A IN NUMBER, T IN NUMBER) RETURN VARCHAR AS LUAS NUMBER(10) ;

BEGIN

LUAS := (A * T) /2 ;

RETURN ('LUAS =' ||LUAS) ;

END ;

MANGGIL : SELECT LUAS_SEGI (3,3) FROM DUAL ;

3. If … Then … Else

SET SERVEROUTPUT ON

DECLARE

K INTEGER:=2;

HARI VARCHAR2(6);

BEGIN

IF K = 1 THEN

HARI := 'MINGGU';

ELSE IF K = 2 THEN

HARI := 'SENIN';

ELSE IF K = 3 THEN

HARI := 'SELASA';

ELSE IF K = 4 THEN

HARI := 'RABU';

ELSE IF K = 5 THEN

HARI := 'KAMIS';

ELSE IF K = 6 THEN

HARI := 'JUMAT';

ELSE

HARI := 'SABTU';

END IF;

END IF;

END IF;

END IF;

END IF;

END IF;

DBMS_OUTPUT.PUT_LINE('HARI KE ' || TO_CHAR(K) ||' '|| 'ADALAH ' || INITCAP(HARI));

END;

BERSAMBUNG dulu ye…..( masih ada lagi coding yang laen nye….)

0 komentar:

Posting Komentar

bagus sekali

Pages

Recent Comments

Introduction

Recent Posts