Kamis, 18 Juli 2013

PL/SQL

PL/SQL atau diesebut dengan Procedural Language/Structured Query Language adalah suatu bahasa pemrograman untuk database Oracle.
Struktur dasar dari PL/SQL adalah DECLARE, BEGIN, dan END. Untuk menandakan suatu komentar (tidak diproses oleh compiler), gunakan “- -” pada tiap baris komentar


Kelebihan PL/SQL :

  • Integrasi ketat dengan SQL 
  • Performa yang lebih baik
  • Produktifitas yang lebih tinggi 
  • Portabilitas penuh 
  • Keamanan yang ketat 
  • Akses ke paket-paket yang telah di definiskan sebelumnya 
  • Mendukung pemrograman berorientasi objek 
  • Mendukung pengembangan halaman dan aplikasi Web.

 Fitur-fitur utama pada PL/SQL  :

  •     Struktur Block
                - Bagian deklaratif (DECLARE) 
                - Bagian eksekusi (BEGIN, END)
                - Bagian penanganan eksepsi (EXCEPTION) bagian yang menangani kondisi error  

  • Badan PL/SQL Block
                                 DECLARE 

                          /* deklarasi variabel, type dan subprogram lokal */ 
                       BEGIN 
                              /* prosedural dan SQL masuk disini */ 
                              /* BAGIAN INI YANG WAJIB */ 
                      EXCEPTION 
                              /* penanganan eksepsi (ERROR) */ 
                      END; 

  • Bagian Deklarasi Variabel
        Contoh :
                         DECLARE 
                             v_counter INTEGER; 
                             v_nim CHAR(5); 
                             v_nama VARCHAR(2); 
                             v_nilai NUMBER; 
                             v_nim_2 mahasiswa.nim%TYPE  /* tipe variabel mengikuti tipe field mahasiswa.nim */ 

       Ket :
                 Kenapa diberikan tanda v_ ? tujuannya adalah agar  tidak bentrok dengan nama field.
                 contohhnya : INSERT INTO mahasiswa (nim, nama) VALUES (v_nim, v_nama); 


 ANONYMOUS BLOCK
        Block PL/SQL Anonymous (tidak bernama) dapat disampaikan kepada kakas interaktif seperti 
SQL*Plus dan Enterprise Manager,  menyimpannya dalam Oracle Precompiler atau Oracle Call 
Interface(OCI), atau mendefinisikannya dalam aplikasi dengan bahasa lain (Contoh : Java, C#, C++) .
           Berbeda dengan Subprogram(Stored Procedure, Stoded Function) Anonymous PL/SQL Block tidak 
dibuat (CREATE) dan tidak disimpan pada Database. Biasanya Anonymous PL/SQL Block ini di 
jalankan dari dalam aplikasi. Pada run-time Aplikasi akan mengirimkan anonymous PL/SQL block ini 
kepada database Oracle, dimana Anonymous block tersebut di compile dan di eksekus
      
  - Badan Anonymous Block (Secara Umum) 
       DECLARE
          /* deklarasi variabel, type dan subprogram lokal */ 
      BEGIN 
         /* prosedural dan SQL masuk disini */ 
        /* BAGIAN INI YANG WAJIB */ 
     EXCEPTION 
        /* penanganan eksepsi (ERROR) */ 
     END;



  • Untuk melihat Seluruh Subprogram pada Database Oracle, anda dapat menuliskan perintah berikut :
             - Melihat semua Subprogram
                     SELECT * FROM USER_PROCEDURES;
           
             - Melihat Subprogram tertentu
                     SELECT * FROM USER_PROCUDERES WHERE OBJECT_NAME = <nama_SP>;


             - Melihat seluruh Subprogram yang dimiliki DBA
                      SELECT * FROM DBA_PROCEDURES;
                      Hal ini tidak di sarankan karena dari perintah
                     SELECT COUNT (*) FROM DBA_PROCEDURES;
                      akan menghasilkan row sebanyak 12.906

Tidak ada komentar:

Posting Komentar