Kamis, 12 April 2012

VARIABEL - OPERARTOR Pada PL/SQL Oracle


Muqadimah
PL/SQL adalah blok yang berisi skrips-skrips bahasa procedural. Dengan blok PL/SQL kita dapat menuliskan perintah-perintah seperti menuliskan perintah pada bahasa pemrograman procedural lainnya.
Dengan adanya PL/SQL, kita dapat meningkatkan performance dari database yang akan kita olah karena didukung oleh adanya bagian tipe data, struktur percabangan maupun struktur pengulangan.

Tipe Data, Variabel, dan Konstanta.

Tipe Data.
Secara umum didalam sebuah blok PL/SQL Oracle, tipe data dapat dibedakan menjadi lima yaitu: numeric, karakter, data, Boolean, dan rowed. Berikut ini list tipe data yang disediakan oleh Oracle.
Nama
Tipe
Keterangan
NUMBER
Numerik
Untuk semua tipe numerik
DEC
Numerik
Untuk bilangan desimal
DOUBLE PRECISION
Numerik
Untuk bilangan riil dgn presisi yg tinggi
INTEGER
Numerik
Untuk bilangan bulat
INT
Numerik
Untuk bilangan bulat
NUMERIC
Numerik
Sama dengan Number
REAL
Numerik
Sama dengan Number
SMALLINT
Numerik
Untuk bilangan bulat dgn rentang yg kecil
VARCHAR2
Karakter
Untuk string dgn panjang yg dinamis sesuai dgn panjang maksimal yg ditentukan
CHAR
Karakter
Untuk string dgn panjang yg sudah pasti.
LONG
Karakter
Untuk string dgn lebar diatas 32.767 byte
DATE
Tanggal
Untuk tipe tanggal
BOOLEAN
Boolean
Bernilai TRUE (benar) dan FALSE (salah)
ROWID
Rowid
Untuk tipe rowed.
  
Variabel
Seperti pada bahasa pemrograman lainnya, variabel berfungsi untuk menampung sebuah nilai di memori komputer. Nilai tsb dapat dirubah setiap saat jika diperlukan. Tipe data tsb harus sesuai dengan nilai yang akan ditampung. Agar sebuah variabel dapat digunakan didalam sebuah blok, maka ia harus dideklarasikan. Cara mendeklarasikan variabel adalah seperti berikut ini :

DECLARE
   nama  varchar2(50);
   id    number;

Konstanta

Sama halnya seperti Variabel, kegunaan konstanta adalah untuk menyimpan sebuah nilai di memori komputer. Perbedaan yang paling mendasar dari keduanya adalah dari sifat data yang akan disimpan. Pada variabel, nilai yang akan disimpan bersifat fleksibel artinya dapat diubah-ubah. Sedangkan pada konstanta bersifat tetap atau statis. Cara mendeklarasikan juga sama seperti pada variabel. Perhatikan berikut ini :

DECLARE
   Pi       CONSTANT real:=3.14;;
   lebar    CONSTANT integer:= 100;

Komentar pada Blok PL/SQL
Contoh :

/* Skript Update Pelanggan */  Berlaku untuk satu baris atau lebih
  
   atau
  
-- Skript Update Pelanggan  Berlaku untuk satu baris
  

Struktur Blok PL/SQL
Secara umum blok PL/SQL Oracle dibagi menjadi tiga bagian yaitu :
- Bagian deklarasi tipe data
- Bagian statement atau perintah yang akan dieksekusi
- Bagian Eksepsi (untuk menangani error)

DECLARE
   variabel   tipe_data;
   konstanta  constant tipe_date:=nilai;
   ...
   ...
BEGIN
   Statemen_1;
   Statemen_2;
   ...
   ...
EXCEPTION
   WHEN nama_eksepsi THEN
        Statemen_untuk_mengatasi_error;
   ...
END;


Perhatikan contoh dibawah ini :

SET SERVEROUTPUT ON

BEGIN
  DBMS_OUTPUT.PUT_LINE('Sukses bersama ORACLE....!');
END;

Atau,

SET SERVEROUTPUT ON
DECLARE
   teks VARCHAR2(50);
BEGIN
   teks := 'Sukses bersama ORACLE...!';
   DBMS_OUTPUT.PUT_LINE(teks);
END;
/

SET SERVEROUTPUT ON
DECLARE
   teks VARCHAR2(5);
BEGIN
   teks := 'Sukses bersama ORACLE...!';
   DBMS_OUTPUT.PUT_LINE(teks);
EXCEPTION
   WHEN VALUE_ERROR THEN
        DBMS_OUTPUT.PUT_LINE('Pesan Error : Kesalahan pada panjang karakter..');
       
END;
/

OPERATOR

Istilah yg sering kita dengar jika menggunakan Oracle.

X:=9*11;

maka :
  X           disebut Variabel
  :=          disebut operator assigment
  9 dan 11    disebut operand
  9*6         disebut ekspresi
  *           disebut operator aritmatika
  X:=9*11;    disebut statemen aritmatika


Operator yang kita kenal di Oracle ada beberapa yaitu :
1. Operator Logika : AND, OR, NOT
2. Operator Aritmatika : +, -, *, /, MOD
3. Operator Relational : <, <=, >, >=
4. Operator Persamaan : =, <>
5. Operator Penggabungan : ||

Contoh penggunaan Operator :

SET SERVEROUTPUT ON
DECLARE
   x    number;
   y    number;
   z    number;
   xx   number;
   teks varchar2(100);
BEGIN
   x:=11*9;
   y:=9+11;
   z:=100-10;
   xx:= x MOD 2;
  
   teks := 'Nilai xx sama dgn = ';
   DBMS_OUTPUT.PUT_LINE(teks|| TO_CHAR(xx));
       
END;
/


Sekian dulu semoga bermanfaat dan silakan dicoba pada oraclenya, klo gw sih biasanya pake Toad lebih powerfull. :D

Tidak ada komentar:

Posting Komentar