Keuntungan PL/SQL

  • Integrasi
    Memungkinkan aplikasi dan Orace server menggunakan library yang dapat digunakan bersama sama dalam bentuk stored procedure
  • Peningkatan kinerja
    Penggunaan PL/SQL , memungkinkan pengiriman perintah secara blok dalam satu perintah yang secara drastis dapat menurunkan trafik jaringan.
  • Modular
    Bentuk modular memungkinkan banyak kemudahan yang dapat diperoleh. Baca lebih lanjut

Transaction dalam Oracle

Ketika sebuah perintah SQL dijalankan, maka transaksi dimulai. Oracle meletakkan transaksi pada segmen undo di dalam tablespace undo untuk mencatat inputan undo transaksi tersebut. Inputan pada tablespace undo digunakan ketika perintah rollback dilakukan untuk mendapatkan kembali data seperti terakhir kali dilakukan perintah commit pada transaksi tersebut. Transaksi akan berakhir jika terjadi hal-hal berikut :

  • Seorang user melakukan perintah COMMIT atau ROLLBACK tanpa , melakukan SAVEPOINT.
  • Seorang user melakukan menjalankan perintah DDL seperti CREATE, DROP, RENAME, GRANT. Jika transaksi yang sedang berlangsung mengandung perintah DML, Oracle akan melakukan commit , lalu menjalankan perintah DDL dan melakukan commit, sebagai satu transaksi baru.
  • Seorang user melakukan disconnect dari Oracle. Transaksi yang  sedang berlangsung akan di commit.
  • Proses yang ada di user berhenti secara tidak normal. Transaksi yang sedang aktif akan langsung di rollback. Setelah sebuah transaksi berakhir, perintah SQL berikutnya akan secara otomatis memulai transaksi yang baru.

Manipulasi Data

Perintah-perintah yang membentuk Data Manipulation Language (DML) digunakan untuk mengubah data yang ada dalam database.

  • INSERT untuk menambahkan baris baru ke dalam tabel di dalam database.
  • UPDATE akan mengubah baris yang sudah ada pada sebuah tabel. Banyaknya baris yang diubah tergantung pada kondisi WHERE. Jika anda tidak memiliki kondisi WHERE, maka semua baris akan diubah.
  • DELETE untuk menghapus baris dari suatu table. Seperti halnya UPDATE, banyaknya baris yang dihapus tergantung pada kondisi WHERE. Tanpa kondisi WHERE, semua baris akan dihapus dari table.