Pengertian dan Contoh Blok di PL/SQL

cover-blok-plsql
Apa itu Blok PL/SQL?

Dalam PL/SQL, script tidak dieksekusi dalam format single line, tetapi akan selalu di eksekusi dengan mengelompokkan script menjadi satu elemen yang disebut dengan blok. Dalam artikel ini, kita akan belajar tentang blok-blok tersebut.

Blok akan berisi beberapa instruksi PL/SQL dan tidak lupa juga dengan SQL. Semua instruksi tersebut akan dieksekusi secara keseluruhan dari pada saat menjalankan satu instruksi pada satu waktu.

Struktur Blok

Blok PL/SQL memiliki struktur yang telah ditentukan sebelumnya di mana script akan dikelompokkan. Di bawah ini adalah bagian yang berbeda dari blok PL/SQL.

  1. Bagian Deklarasi (Declare Section)
  2. Bagian Eksekusi (Execution Section)
  3. Bagian Penanganan Pengecualian (Exception Handling Section)

Seperti gambar di bawah ini menggambarkan blok PL/SQL yang berbeda dan berurutan setiap bagiannya.

isi-blok-plsql-1

Bagian Deklarasi (Declare Section)

Ini adalah bagian pertama dari blok PL/SQL. Bagian ini adalah bagian optional. Bagian yang mana deklarasi variabel, kursor, exception, subprogram, instruksi dan beberapa perintah yang diperlukan dalam blok akan dideklarasikan. Di bawah ini adalah beberapa karakteristik dai bagian deklarasi.

  • Bagian ini dapat dilewati jika tidak ada perintah yang tidak ada deklarasi yang diperlukan.
  • Ini harus menjadi bagian pertama dalam blok PL/SQL, jika ada.
  • Bagian ini juga dimulai dengan kata kunci "DECLARE" untuk triggernya. Untuk subprogram lainnya, kata kunci ini tidak perlu dituliskan. Sebaliknya, bagian setelah pendefinisian nama subprogram harus menambahkan bagian deklarasi.
  • Bagian ini harus selalu diikuti dengan bagian eksekusi.

Bagian Eksekusi (Execution Section)

Bagian eksekusi adalah bagian utama dan wajib dalam blok PL/SQL untuk mengeksekusi script yang sudah dituliskan di dalamnya. Karena PL/SQL akan menjalankan apa yang diperintahkan di dalam blok ini, blok tidak boleh kosong, dan setidaknya memiliki satu baris script kode yang dapat dieksekusi dan valid di dalamnya. Di bawah ini adalah karakteristik dari bagian eksekusi.

  • Dapat berisi script kode PL/SQL dan kode SQL.
  • Dapat berisi juga satu atau lebih blok di dalamnya sebagai blok yang bersarang.
  • Bagian ini dimulai dengan kata kunci "BEGIN".
  • Bagian ini harus diikuti dengan kata "END" atau Exception-Handling (jika ada).

Bagian Penganganan Pengecualian (Exception Handling Section)

Bagian ini tidak dapat dihindari dalam program yang terjadi ketika pada saat blok mengalami error atau kesalahan dalam penulisan script SQL. Bagian ini juga dapat berisi pernyataan PL/SQL. Ini juga adalah bagian opsional dari blok PL/SQL. Berikut adalah karakteristik dari Bagian Penanganan Pengecualian.

  • Bagian di mana pengecualian yang diangkat dalam blok eksekusi yang sedang berjalan.
  • Bagian terakhir dari blok PL/SQL.
  • Jika sudah di bagian ini tidak akan bisa kembali ke blok eksekusi.
  • Bagian ini akan dimulai dengan kata kunci "EXCEPTION".
  • Bagian ini juga harus diikuti dengan kata "END" untuk mengakhirinya.
Kata kunci "END" menandai akhir dari blok PL/SQL.

Sintaks Blok PL/SQL

Di bawah ini adalah sintaks struktur blok PL/SQL.

DECLARE --optional
    <Bagian deklarasi (jika ada)>
BEGIN   --wajib
    <Perintah yang dapat dieksekusi. Setidaknya satu pernyataan yang dapat dieksekusi yang sifatnya wajib>
EXCEPTION --optional 
    <Bagian exception (jika ada)>
END;   --wajib
/

Catatan: Sebuah blok juga harus diakhiri dengan "/" yang berarti mengirimkan informasi ke compiler tentang akhir dari blok.

Jenis-Jenis Blok PL/SQL

Blok PL/SQL memiliki dua jenis yang di sebutkan di bawah ini.

  1. Anonymous Blocks
  2. Named Blocks

Anonymous Blocks

Anonymous Block (Blok anonim) adalah blok PL/SQL yang tidak memiliki nama yang ditetapkan untuk mereka. Mereka perlu dibuat dan digunakan dalam sesi yang sama karena mereka tidak akan disimpan di server sebagai objek database.

Karena mereka tidak perlu menyimpan dalam database, mereka juga tidak memerlukan langkah-langkan dalam kompilasinya. Mereka dapat ditulis dan dieksekusi secara langsung, dan kompilasi dan eksekusi terjadi dalam satu waktu.

Di bawah ini adalah karakteristik dari blok Anonim.

  • Blok ini tidak memiliki nama referensi yang ditentukan untuk mereka.
  • Blok ini dimulai dengan kata kunci 'DECLARE' atau 'BEGIN'.
  • Karena blok ini tidak memiliki nama referensi, ini tidak dapat disimpan untuk tujuan selanjutnya. Mereka akan dibuat dan dieksekusi dalam sesi yang sama.
  • Mereka dapat memanggil blok bernama lainnya, tetapi panggilan ke blok anonim tidak mungkin karena tidak memiliki referensi apa pun.
  • Hal ini dapat memiliki blok bersarang di dalamnya yang dapat disebut atau anonim. Hal ini juga dapat bersarang di blok apapun.
  • Blok-blok ini dapat memiliki ketiga bagian blok, di mana bagian eksekusi wajib, dua bagian lainnya bersifat opsional.

Named Block

Named Block (Blok bernama) memiliki nama yang spesifik dan unik untuk mereka. Mereka disimpan sebagai objek database di server. Karena mereka tersedia sebagai objek database, mereka dapat disebut atau digunakan selama itu hadir di server. Proses kompilasi untuk blok bernama terjadi secara terpisah saat membuatnya sebagai objek database.

Di bawah ini adalah beberapa karakteristik dari Named Block.

  • Struktur blok sama dengan blok anonim, kecuali tidak akan pernah dimulai dengan kata kunci 'DECLARE'. Sebaliknya, itu akan dimulai dengan kata kunci 'CREATE' yang menginstruksikan kompiler untuk membuatnya sebagai objek database.
  • Blok-blok ini dapat bersarang di dalam blok lain. Hal ini juga dapat berisi blok bersarang.
  • Blok bernama pada dasarnya dari dua jenis:

  1. Procedure
  2. Function

Posting Komentar untuk "Pengertian dan Contoh Blok di PL/SQL"