PL/SQL PROGRAMMING

24
PL/SQL PROGRAMMING PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau designer untuk membentuk suatu aplikasi database yang kompleks yang menuntut pemakaian kontrol struktur dan elemen prosedural seperti prosedur, fungsi, atau modul. Sasaran utama PL/SQL : 1. Memaksimalkan pengertian dari SQL. 2. Proses query yg maksimal. 3. Optimasi kombinasi dari perintah pada SQL. 4. Membangun aplikasi database yg modular. 5. Pemakaian kode pemrograman. 6. Mengurangi nilai maintenance dan perubahan aplikasi.

description

PL/SQL PROGRAMMING. PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. - PowerPoint PPT Presentation

Transcript of PL/SQL PROGRAMMING

Page 1: PL/SQL PROGRAMMING

PL/SQL PROGRAMMINGPL/SQL PROGRAMMING

PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman.

PL/SQL memungkinkan user atau designer untuk membentuk suatu aplikasi database yang kompleks yang menuntut pemakaian kontrol struktur dan elemen prosedural seperti prosedur, fungsi, atau modul.

Sasaran utama PL/SQL :

1. Memaksimalkan pengertian dari SQL.

2. Proses query yg maksimal.

3. Optimasi kombinasi dari perintah pada SQL.

4. Membangun aplikasi database yg modular.

5. Pemakaian kode pemrograman.

6. Mengurangi nilai maintenance dan perubahan aplikasi.

Page 2: PL/SQL PROGRAMMING

STRUKTUR PL/SQLSTRUKTUR PL/SQL

Block header

DECLARE

constant

variable

cursor

user defined exceptions

BEGIN

PL/SQL statement

EXCEPTION

exception handling

END;

Page 3: PL/SQL PROGRAMMING

DEKLARASI dan CONSTANTDEKLARASI dan CONSTANT

Nama_variabel constant tipe_data not null := ekspresi

Contoh

Page 4: PL/SQL PROGRAMMING

Cursor nama_cursor (list parameter) is select_statement

Contoh

CURSOR CURSOR

Page 5: PL/SQL PROGRAMMING

CURSOR for LOOPCURSOR for LOOP

Suatu CURSOR for LOOP akan mendeklarasikan indeks dari loopingnya sebagai suatu record yg merepresentasikan tampilan baris dari suatu database.

Untuk menunjuk suatu field dari record digunakan notasi dot.

Page 6: PL/SQL PROGRAMMING

VARIABEL CURSOR VARIABEL CURSOR

Seperti sebuah cursor, variabel cursor menitikberatkan pada baris dari hasil query. Tetapi, tidak seperti sebuah cursor, variabel cursor dapat dibuka pada berbagai tipe query secara kompatibel.

Variabel cursor tidak mengikat pada query tertentu. Penggunaan variabel cursor akan fleksibilitas dan kemudahan untuk memfokuskan pada penyajian data dari suatu database.

Page 7: PL/SQL PROGRAMMING

ATTRIBUTEATTRIBUTE

Variabel dan cursor pada PL/SQL mempunyai atribut, yang mana properti akan mengijinkan kita untuk merujuk pada suatu tipe data dan struktur tertentu tanpa harus kita definisikan terlebih dahulu.

Tanda persen ( % ) digunakan sebagai indikator atribut.

%TYPE%TYPE

Atribute %TYPE%TYPE menyediakan tipe data dari variabel atau kolom database.

CONTOH : my_tittle books.tittle%TYPE

Pendeklarasian dengan tipe ini memberikan 2 keuntungan, yaitu :

1. Kita tidak perlu mengetahui secaar pasti tipe data dari tittle.

2. Apabila kita merubah tipe data tittle, maka secara otomatis tipe data my_tittle juga akan berubah.

Page 8: PL/SQL PROGRAMMING

%ROWTYPE%ROWTYPE

Atribute %ROWTYPE%ROWTYPE menyediakan tipe data dari record yang merepresentasikan suatu baris dari tabel.

Jika kita akan mendeklarasikan suatu cursor yg menyediakan data tertentu, kita dapat menggunakan tipe data ini untuk mendeklarasikan recordyang menyimpan informasi yang sama.

Page 9: PL/SQL PROGRAMMING
Page 10: PL/SQL PROGRAMMING

LANGUAGE LANGUAGE

Page 11: PL/SQL PROGRAMMING
Page 12: PL/SQL PROGRAMMING

EXCEPTION HANDLINGEXCEPTION HANDLING

when exception_name then sequence of statement

Page 13: PL/SQL PROGRAMMING
Page 14: PL/SQL PROGRAMMING

CONTROL STRUCTURECONTROL STRUCTURE

Struktur kontrol adalah tambahan terpenting PL/SQL pada SQL.

Tidak hanya memanipulasi data Oracle, tetapi juga dapat memproses data menggunakan statemen kondisi, statemen iteratif, dan statemen ‘sequential flow of control’ seperti IF-THEN-ELSE, FOR-LOOP, WHILE-LOOP, dll.

Control StructureControl Structure

Instruksi yang digunakan adalah IF-THEN-ELSE.

Apabila kondisi pada IF terpenuhi, maka statemen setelah THEN akan dieksekusi, tetapi jika kondisinya tidak terpenuhi, maka statemen setelah ELSE yang akan dieksekusi.

Page 15: PL/SQL PROGRAMMING
Page 16: PL/SQL PROGRAMMING

Iterative StructureIterative Structure

Instruksi yang menggunakan LOOP.

LOOP akan mengeksekusi sekumpulan statemen secara berulang-ulang.

Instruksi yang menggunakan FOR LOOP.

FOR-LOOP akan mengeksekusi sekumpulan statemen secara berulang-ulang sebanyak nilai integer yg kita berikan.

Page 17: PL/SQL PROGRAMMING

Instruksi yang menggunakan WHILE-LOOP.

Untuk masing-masing iterasi, kondisinya akan dievaluasi terlebih dahulu. Apabila kondisinya benar maka statement-nya akan dijalankan, kemudian kontrol akan kembali ke bagian teratas dari looping. Apabila kondisinya salah atau bernilai null, maka looping akan dilewatkan dan akan menjalankan statemen selanjutnya.

Page 18: PL/SQL PROGRAMMING

Instruksi yang menggunakan EXIT-WHEN.

Statement dalam looping akan dijalankan, sampai menemukan statemen EXIT. Setelah EXIT ditemukan, looping akan mengevaluasi kondisi yang ada. Apabila kondisinya benar maka looping akan berhenti dan dilanjutkan dengan statemen berikutnya.

Page 19: PL/SQL PROGRAMMING

Sequential StructureSequential Structure

Instruksi yang digunakan adalah GOTO.

Ketika instruksi dijalankan, statemen GOTO akan memindahkan kontrol sesuai dengan label yang diberikan.

Page 20: PL/SQL PROGRAMMING

PROCEDUREPROCEDURE

Adalah sebuah PL/SQL Block yang bisa dipanggil ataua dijalankan seperti PL/SQL statemen. Pada prosedur juga dimungkinkan untuk mengirimkan data.

Secara umum format dari prosedur adalah sbb :

PROCEDURE nama_prosedur (parameter IN OUT tipe data) IS

deklarasi variabel;

BEGIN

statement;

END;

Page 21: PL/SQL PROGRAMMING

Pada prosedur, suatu parameter bisa hanya bersifat IN yaitu nilai parameter yg dikirimkan ke dalam suatu prosedur, selain itu juga bersifat OUT yaitu nilai parameter yg dikirim keluar dari suatu prosedur. Sedangkan jika diinginkan suatu data terswebut dikirim ke dalam dan juga keluar, maka digunakan tipe IN OUT.

Page 22: PL/SQL PROGRAMMING

FUNCTIONFUNCTION

Adalah suatu PL/SQL Block yg menghasilkan suatu nilai dan biasa digunakan seperti kita menulis suatu ekspreasi. Pada fungsi dimungkin untuk mengirimkan data.

Secara umum format dari fungsi adalah sbb :

FUNCTION nama_fungsi (parameter IN OUT tipe data) RETURN tipe_data IS

deklarasi variabel;

BEGIN

statement;

RETURN (value);

END;

Page 23: PL/SQL PROGRAMMING

Parameter yang ada pada suatu fungsi memiliki tipe data yang sma dengan parameter pada suatu prosedur.

Page 24: PL/SQL PROGRAMMING

Sequential StructureSequential Structure

Instruksi yang digunakan adalah GOTO.

Ketika instruksi dijalankan, statemen GOTO akan memindahkan kontrol sesuai dengan label yang diberikan.