DEKLARASI VARIABEL DALAM PL/SQL
Tentang PL/SQL PL/SQL adalah perluasan SQL dengan fitur bahasa pemrograman PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. SQL Data manipulation and query statements disertakan dalam unit kode prosedural.
Lanj.. Dengan PL/SQL, memungkinkan penggunaan perintah SQL untuk meningkatkan kualitas data Oracle dan perintah kontrol PL/SQL untuk memproses data tersebut. 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.
Kelebihan PL/SQL 1. Integrasi Aplikasi Oracle Developer mempergunakan shared libraries untuk menyimpan kode. PL/SQL menjembatani perbedaan pengaksesan teknologi database dan kebutuhan pemrograman prosedural
Kelebihan PL/SQL 2. Meningkatkan Kinerja PL/SQL digunakan utk mengelompokkan perintah SQL dalam sebuah blok tunggal dan mengirim keseluruh blok ke server dengan sebuah call sehingga dapat mengurangi kemacetan jaringan.
STRUKTUR BLOK PL/SQL
Jenis-Jenis Block
Jenis-Jenis Block Anonymous Block Adalah blok tanpa nama. Dideklarasikan pada aplikasi yang akan mengeksekusinya dan diteruskan ke mesin PL/SQL untuk dieksekusi saat runtime. Sub Program Adalah block PL/SQL yang dapat mengambil parameter dan dapat dipanggil. Terbagi dua yaitu prosedur dan fungsi. Prosedur untuk menjalankan sebuah aksi Fungsi untuk nilai
Kontruksi Program
Stored Procedure atau Function Kontruksi Program Deskripsi Anonymous Block Blok PL/SQL tanpa nama yang menempel dalam aplikasi atau dijalankan secara interaktif Stored Procedure atau Function Blok PL/SQL yang tersimpan di oracle server, yang dapat menerima parameter dan dapat dipanggil berulang kali Application Procedure atau Function Blok PL/SQL yang tersimpan di aplikasi oracle developer atau shared library, yang dapat menerima parameter dan dapat dipanggil berulang kali Paket Modul PL/SQL yang mengelompokan prosedur, function, dan identifier yang berhubungan. Database Trigger Block PL/SQL yang diasosiasikan dgn sebuah tabel database dan dijalankan otomatis saat dipicu oleh perintah DML Application Trigger Block PL/SQL yang diasosiasikan dengan sebuah event aplikasi dan dijalankan secara otomatis
VARIABEL Variabel adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori komputer. Nilai yang disimpan dalam variabel dapat diubah setiap saat jika diperlukan. Tipe data dari variabel harus sesuai dengan bilai yang akan ditampung (ex: saat membuat PL/SQL akan menyimpan nilai dengan tipe data INTEGER, maka sat deklarasi variabel juga harus dengan tipe data INTEGER)
KEGUNAAN VARIABEL Variables digunakan untuk: Menyimpan data sementara Memanipulasi nilai yang disimpan Dapat digunakan kemballi Mudah dalam pemeliharaan
Penanganan Variable dalam PL/SQL Deklarasi dan inisialisasi variabel pada declaration section. Pemberian nilai baru untuk variable pada executable section. Melewatkan nilai kedalam blok PL/SQL melalui parameter. Menampilkan hasil melalui variable output
Tipe Variables Variabel PL/SQL s: • Scalar : Nilai tunggal • Composite : Record • Reference : Pointer • LOB : Large objects Variabel Non-PL/SQL : Bind and Host variables
Tipe Variables
Deklarasi Variabel PL/SQL
Deklarasi Variabel PL/SQL Guideline Mengikuti aturan penamaan. Inisialisasi variable dengan NOT NULL dan CONSTANT. Inisialisasi identifier menggunakan assignment operator (:=) atau reserved word DEFAULT. Deklarasi paling banyak satu identifier per baris.
Aturan Penamaan Dua variabel dapat memiliki nama yang sama, disediakan pada blok yang berbeda. Nama variabel (identifier) tidak seharusnya sama dengan nama kolom yang digunakan pada blok PL/SQL.
Pemberian nilai Variable
Inisialisasi dan Keyword Variable Menggunakan: Assignment operator (:=) DEFAULT keyword NOT NULL constraint
Contoh
Konstanta Nilai yang disimpan dalam konstanta bersifat tetap (konstan). Cara mendeklarasikan konstanta adalah dengan menambahkan kata CONSTANT setelah menuliskan nama konstanta dan mengisikan nilainya setelah tipe data ditentukan.
Tipe data Scalar
Lanj.. NAMA TIPE Keterangan Untuk semua tipe numerik NUMBER Numerik Untuk semua tipe numerik BINARY_INTEGER Di dalamnya meliputi tipe unsigned integer DEC Untuk bilangan desimal DOUBLE PRECISION Untuk bilangan riil dengan presisi yang tinggi INTEGER Untuk bilangan bulat INT NUMERIC Sama dengan NUMBER REAL
Lanj.. NAMA TIPE Keterangan SMALLINT Numerik Untuk bilangan bulat dengan rentang yang kecil VARCHAR2 Karakter Untuk string dengan panjang yang dinamis sesuai dengan panjang maksimal yang ditentukan CHAR Untuk string dengan panjang yang sudah pasti LONG Untuk string dengan lebar di atas 32.767 byte DATE Tanggal Untuk tipe tanggal BOOLEAN Boolean Bernilai TRUE (benar) dan FALSE (salah) ROWIND Rowid Untuk tipe rowid
Deklarasi Variabel Scalar
Attribute %TYPE Deklarasi sebuah variabel sesuai dengan: • Definisi kolom sebuah database • Variabel yang telah dideklarasikan sebelumnya Awali %TYPE dengan: • The database table and column • The previously declared variable name
Declaring Variables dengan Attribute %TYPE
Deklarasi Boolean Variable Hanya nilai TRUE, FALSE, and NULL yang dapat diberikan untuk variable Boolean. Variable dihubungkan dengan logical operators AND, OR, dan NOT. Variable selalu menghasilkan nilai TRUE, FALSE, atau NULL. Ekspresi Arithmetic, character, and date dapat digunakan untuk menghasilkan nilai Boolean.
Structur PL/SQL Record
Tipe Variable LOB
Bind Variables
Mereferensikan Variabel Non-PL/SQL Menyimpan gaji tahunan kedalam SQL*Plus host variable. Mereferensikan variabel non-PL/SQL sebagai host variables. Awali referensi dengan tanda colon (:).
DBMS_OUTPUT.PUT_LINE Prosedur Oracle-supplied packaged Sebagai alternatif menampilkan data dari blok PL/SQL Harus di aktifkan dalam SQL*Plus dengan perintah SET SERVEROUTPUT ON
Kesimpulan PL/SQL blocks are composed of the following sections: • Declarative (optional) • Executable (required) • Exception handling (optional) A PL/SQL block can be an anonymous block, procedure, or function.
LATIHAN Berikut ini merupakan deklarasi variabel. Tentukan yang legal dan tidak legal serta jelaskan alasannya ! Declare v_id number(4); b. Declare v_x, v_y, v_z varchar2(10); c. Declare v_birthdate Date Not null; d. Declare v_in_stock boolean := 1;
Lanj 2. Tentukan tipe data dari hasil ekspresi dibawah ini v_days_to_go := v_due_date-SYSDATE v_sender := USER || ‘ : ‘|| TO_CHAR(v_dept_no); v_sum := $100,000 + $250,000; v_flag := TRUE; v_n1 := v_n2 > (2*v_n3) v_value : NULL; 3. Buatlah sebuah blok tanpa nama untuk menghasilkan “MY PL/SQL Block Word” pada layar.
TERIMA KASIH