Blok PL/ SQL: STRUKTUR, Sintaks, Contoh ANONIM

Apa itu blok PL/SQL?

Dalam PL/SQL, kode tidak dieksekusi dalam format satu baris, tetapi selalu dieksekusi dengan mengelompokkan kode ke dalam satu elemen yang disebut Blok. Dalam tutorial ini, Anda akan belajar tentang blok-blok ini.

Blok berisi instruksi PL/SQL dan SQL. Semua instruksi ini akan dieksekusi secara keseluruhan, bukan mengeksekusi satu instruksi dalam satu waktu.

Struktur Blok

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

  1. Bagian deklarasi
  2. Bagian eksekusi
  3. Bagian Penanganan Pengecualian

Gambar di bawah mengilustrasikan blok PL/SQL yang berbeda dan urutan bagiannya.

Struktur Blok

Bagian Deklarasi

Ini adalah bagian pertama dari blok PL/SQL. Bagian ini adalah bagian opsional. Ini adalah bagian di mana deklarasi variabel, kursor, pengecualian, subprogram, instruksi pragma, dan koleksi yang diperlukan dalam blok akan dideklarasikan. Di bawah ini adalah beberapa karakteristik dari bagian ini.

  • Bagian khusus ini bersifat opsional dan dapat dilewati jika tidak diperlukan deklarasi.
  • Ini harus menjadi bagian pertama dalam blok PL/SQL, jika ada.
  • Bagian ini dimulai dengan kata kunci 'DECLARE' untuk pemicu dan blok anonim. Untuk subprogram lain, kata kunci ini tidak akan ada. Sebaliknya, bagian setelah definisi nama subprogram menandai bagian deklarasi.
  • Bagian ini harus selalu diikuti dengan bagian eksekusi.

Bagian Eksekusi

Bagian eksekusi merupakan bagian utama dan wajib yang benar-benar mengeksekusi kode yang tertulis di dalamnya. Sejak itu PL / SQL mengharapkan pernyataan yang dapat dieksekusi dari blok ini. Ini tidak boleh berupa blok kosong, yaitu, ia harus memiliki setidaknya satu baris kode valid yang dapat dieksekusi di dalamnya. Di bawah ini adalah beberapa karakteristik dari bagian ini.

  • Ini dapat berisi kode PL/SQL dan kode SQL.
  • Ini dapat berisi satu atau banyak blok di dalamnya sebagai blok bersarang.
  • Bagian ini dimulai dengan kata kunci 'BEGIN'.
  • Bagian ini harus diikuti oleh bagian 'AKHIR' atau Penanganan Pengecualian (jika ada)

Bagian Penanganan Pengecualian

Pengecualian tidak dapat dihindari dalam program yang terjadi pada saat run-time dan untuk menangani hal ini Oracle telah menyediakan bagian penanganan Pengecualian dalam blok. Bagian ini juga dapat berisi pernyataan PL/SQL. Ini adalah bagian opsional dari blok PL/SQL.

  • Ini adalah bagian di mana pengecualian yang muncul di blok eksekusi ditangani.
  • Bagian ini adalah bagian terakhir dari blok PL/SQL.
  • Kontrol dari bagian ini tidak akan pernah bisa kembali ke blok eksekusi.
  • Bagian ini dimulai dengan kata kunci 'PENGECUALIAN'.
  • Bagian ini harus selalu diikuti dengan kata kunci 'END'.

Kata Kunci 'END' menandai akhir dari blok PL/SQL.

Sintaks Blok PL/SQL

Di bawah ini adalah sintaks struktur blok PL/SQL.

Sintaks Blok PL/SQL

DECLARE --optional
    <declarations>

BEGIN   --mandatory
    <executable statements. At least one executable statement is mandatory>

EXCEPTION --optional 
    <exception handles>

END;   --mandatory
/

Catatan: Sebuah blok harus selalu diikuti dengan '/' yang mengirimkan informasi ke kompiler tentang akhir blok.

Jenis blok PL/SQL

Blok PL/SQL terutama terdiri dari dua jenis.

  1. Blok anonim
  2. Blok Bernama

Blok anonim

Blok anonim adalah blok PL/SQL yang tidak diberi nama apa pun. Mereka perlu dibuat dan digunakan dalam sesi yang sama karena mereka tidak akan disimpan di server sebagai objek database.

Karena tidak perlu disimpan dalam database, tidak diperlukan langkah kompilasi. Mereka ditulis dan dieksekusi secara langsung, dan kompilasi serta eksekusi terjadi dalam satu proses.

Di bawah ini adalah beberapa karakteristik blok Anonim.

  • Blok-blok ini tidak memiliki nama referensi yang ditentukan untuknya.
  • Blok ini dimulai dengan kata kunci 'DECLARE' atau 'BEGIN'.
  • Karena blok-blok ini tidak memiliki nama referensi, blok-blok ini tidak dapat disimpan untuk keperluan selanjutnya. Blok-blok ini akan dibuat dan dijalankan dalam sesi yang sama.
  • Mereka dapat memanggil blok bernama lainnya, tetapi panggilan ke blok anonim tidak dimungkinkan karena tidak memiliki referensi apa pun.
  • Itu dapat memiliki blok bersarang di dalamnya yang dapat diberi nama atau anonim. Itu juga dapat disarangkan di blok mana pun.
  • Blok ini dapat memiliki ketiga bagian blok, di mana bagian eksekusi bersifat wajib, dua bagian lainnya bersifat opsional.

Blok bernama

Blok bernama memiliki nama yang spesifik dan unik. Mereka disimpan sebagai objek database di server. Karena tersedia sebagai objek database, mereka dapat dirujuk atau digunakan selama objek tersebut ada di server. Proses kompilasi untuk blok bernama terjadi secara terpisah saat membuatnya sebagai objek database.

Di bawah ini adalah beberapa karakteristik blok Bernama.

  • Blok ini dapat dipanggil dari blok lain.
  • Struktur blok sama dengan blok anonim, hanya saja blok tersebut tidak akan pernah dimulai dengan kata kunci 'DECLARE'. Sebaliknya, ini akan dimulai dengan kata kunci 'CREATE' yang memerintahkan kompiler untuk membuatnya sebagai objek database.
  • Blok-blok ini dapat disarangkan di dalam blok lain. Itu juga bisa berisi blok bersarang.
  • Blok bernama pada dasarnya terdiri dari dua jenis:
  1. Prosedur
  2. fungsi

Kita akan mempelajari lebih lanjut mengenai blok-blok bernama ini pada topik “Prosedur” dan “Fungsi” di tutorial berikutnya.

Kesimpulan

Setelah tutorial ini, Anda akan mengetahui blok PL/SQL dan jenis-jenisnya, berbagai bagian blok, dan penggunaannya. Uraian terperinci tentang blok PL/SQL yang diberi nama akan dibahas dalam tutorial berikutnya.