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