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 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 NUMBER Numerik Untuk semua tipe numerik BINARY_INTEGER Numerik Di dalamnya meliputi tipe unsigned integer DEC Numerik Untuk bilangan desimal DOUBLE PRECISION Numerik Untuk bilangan riil dengan presisi yang tinggi INTEGER Numerik Untuk bilangan bulat INT Numerik Untuk bilangan bulat NUMERIC Numerik Sama dengan NUMBER REAL Numerik Sama dengan NUMBER 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 Karakter Untuk string dengan panjang yang sudah pasti LONG Karakter 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 1. Berikut ini merupakan deklarasi variabel. Tentukan yang legal dan tidak legal serta jelaskan alasannya ! a. 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 a. b. c. d. e. f. 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