PL/SQL Subprograms

Pada pembahasan ini kita akan mempelajari bagaimana menggunakan PL/SQL subprograms, yang mana mengijinkan kita untuk memberi nama dan mengenkapsulasi sebuah rangkaian perintah. Subprograms membantu pembangunan aplikasi dengan mengisolasi operasi-operasi. Seperti membangun blok-blok, yang dapat kita gunakan untuk mendirikan aplikasi-aplikasi yang modular dan mudah dipelihara.

Pembahasan kali ini mendiskusikan topik-topik:

8.1. Apa itu Subprograms?

Subprograms adalah PL/SQL blocks bernama yang dapat menerima parameter dan dijalankan. PL/SQL memiliki dua tipe subprograms yang disebut dengan procedures dan functions. Secara umum, kita menggunakan sebuah procedure untuk melakukan sebuah aksi dan menggunakan sebuah function untuk menghitung sebuah nilai.

Seperti halnya PL/SQL blocks tak bernama (anonymous), subprograms memiliki sebuah declarative part, sebuah executable part, dan sebuah exception-handling part (opsional). Declarative part mengandung deklarasi-deklarasi dari types, cursors, constants (konstanta), variables, exceptions, dan nested subprograms. Item-item ini merupakan lokal dan berhenti ketika kita keluar dari subprogram tersebut. Executable part mengandung perintah-perintah yang memberikan nilai-nilai, mengontrol eksekusi, dan memanipulasi Oracle data. Sedangkan exception-handling part mengandung exception handlers, yang berurusan dengan exceptions yang muncul selama eksekusi.

Mari kita perhatikan procedure bernama debit_account berikut ini, yang mendebit sebuah rekening bank:

PROCEDURE debit_account (acct_id INTEGER, amount REAL) IS
  old_balance REAL;
  new_balance REAL;
  overdrawn EXCEPTION;
BEGIN
  SELECT bal
  INTO old_balance
  FROM accts
  WHERE acct_no = acct_id;
  new_balance := old_balance - amount;
  IF new_balance < 0 THEN
    RAISE overdrawn;
  ELSE
    UPDATE accts
    SET bal = new_balance
    WHERE acct_no = acct_id;
  END IF;
  EXCEPTION WHEN overdrawn THEN
    ...
END debit_account;

Ketika dijalankan atau dipanggil, procedure ini menerima sebuah nomor rekening dan jumlah yang akan didebit. Ia menggunakan nomor rekening tersebut untuk menampilkan saldo rekening dari database table accts. Lalu, ia menggunakan jumlah debit tersebut untuk menghitung sebuah saldo baru. Jika saldo baru kurang dari nol, sebuah exception dimunculkan; selain itu, rekening bank di-update.

 

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

 

Buku ini membahas berbagai macam tip dan trik yang sangat berguna bagi Anda pembaca pengguna database Oracle. Pemula, mahasiswa, programmer, maupun database administrator yang mengharapkan solusi cepat dalam menangani permasalahan-permasalahan dalam penggunaan database Oracle dapat membaca buku ini. Anda tidak harus membaca buku ini secara urut karena buku ini di susun berdasarkan topik permasalahan, dan Anda dapat membaca topik-topik yang sesuai dengan permasalahan yang Anda hadapi.
Dapat di beli di toko buku Gramedia, Gunung Agung, Uranus, Karisma dsb. Harga Rp. 24.800,- (157 halaman)

 

Related Articles

 

Comments

[…] PL/SQL Subprograms | Hastinapura […]

[…] Silahkan melanjutkan membaca pembahasan PL/SQL Subprograms […]

[…] Klausa AUTHID menentukan apakah seluruh subprogram-subprogram ter-package dijalankan dengan privileges dari definer (default) atau invoker-nya, dan apakah referensi tak terkualifikasi dari mereka terhadap schema objects ditetapkan di dalam schema dari definer atau invoker tersebut. Untuk informasi lebih, kita dapat membaca kembali pembahasan PL/SQL Subprograms. […]

[…] Dynamic SQLPL/SQL Object TypesPL/SQL PackagesPL/SQL SubprogramsInteraksi PL/SQL dengan […]

Leave a comment

(required)

(required)


*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word