Interaksi PL/SQL dengan Oracle

Pembahasan kali ini membantu kita memanfaatkan kekuatan Oracle. Kita akan mempelajari bagaimana PL/SQL mendukung perintah-perintah SQL, function-function, dan operator-operator yang mengijinkan kita memanipulasi data Oracle. Kita juga mempelajari bagaimaan mengatur cursor-cursor, menggunakan variable-variable cursor, dan memproses transaksi-transaksi.Pada pembahasan kali ini kita akan mendiskusikan topik-topik berikut:

  • Pengenalan Dukungan SQL dalam PL/SQL
  • Mengatur Cursors
  • Memisahkan Cursor Specs dan Bodies dengan Packages
  • Menggunakan Cursor FOR Loops
  • Menggunakan Cursor Variables
  • Menggunakan Cursor Attributes
  • Menggunakan Cursor Expression
  • Pengenalan Pemrosesan Transaksi dalam PL/SQL
  • Melakukan Unit-unit Tunggal Pekerjaan dengan Transaksi-transaksi Autonomous
  • Memastikan Kompatibilitas Kebelakang dari Program-program PL/SQL

6.1. Pengenalan Dukungan SQL dalam PL/SQL

Dengan memperluas SQL, PL/SQL menawarkan kombinasi unik dari kekuatan dan kemudahan penggunaan. Kita dapat memanipulasi data Oracle secara fleksibel dan aman karena PL/SQL mendukung secara menuh seluruh perintah-perintah manipulasi data (kecuali EXPLAIN PLAN), perintah-perintah transaction control, functions, pseudocolumns, dan operators. PL/SQL juga mendukung SQL dinamis (dynamic SQL), yang memungkinkan kita mengeksekusi perintah-perintah data definition, data control, dan session control SQL secara dinamis. Sebagai tambahan, PL/SQL memenuhi standar ANSI/ISO terkini.

6.1.1. Data Manipulation

Untuk memanipulasi data Oracle, kita menggunakan perintah-perintah INSERT, UPDATE, DELETE, SELECT, dan LOCK TABLE. INSERT menambahkan baris-baris  data baru ke database tables; update memodifikasi baris-baris data; DELETE menghapus baris-baris data; SELECT menampilkan baris-baris data sesuai dengan kriteria pencarian yang telah kita tetapkan; dan LOCK TABLE membatasi akses terhadap tabel secara sementara.

6.1.2. Transaction Control

Oracle berorientasi kepada transaksi; sehingga, Oracle menggunakan transaksi-transaksi untuk memastikan integritas data. Sebuah transaksi adalah sebuah rangkaian perintah-perintah manipulasi data SQL yang melakukan sebuah unit logikal dari pekerjaan. Sebagai contoh, dua perintah UPDATE barangkali mengkredit satu rekening bank dan mendebit lainnya.

Secara serempak, Oracle membuat permanen atau membatalkan seluruh perubahan-perubahan database yang disebabkan oleh transaksi. Jika program kita gagal di tengah-tengah sebuah transaksi, Oracle mendeteksi error dan membatalkan transaksi tersebut. Kemudian, database dikembalikan ke posisi sebelumnya secara otomatis.

Kita menggunakan perintah-perintah COMMIT, ROLLBACK, SAVEPOINT, dan SET TRANSACTION untuk mengontrol transaksi-transaksi. COMMIT membuat permanen beberapa perubahan-perubahan database yang dibuat selama transaksi. ROLLBACK mengakhiri transaksi yang sedang berjalan dan membatalkan perubahan-perubahan yang terjadi sejak transaksi dimulai. SAVEPOINT menandai titik terkini di dalam pemrosesan transaksi. Digunakan bersama dengan ROLLBACK, SAVEPOINT membatalkan bagian dari sebuah transaksi. SET TRANSACTION mengatur properti-properti transaksi seperti akses pembacaan/penulisan dan level isolasi.

6.1.3. SQL Functions

PL/SQL mengijinkan kita menggunakan seluruh function SQL termasuk function-function agregat berikut ini, yang meringkas seluruh kolom-kolom dari data Oracle: AVG, COUNT, GROUPING, MAX, MIN, STDDEV, SUM, dan VARIANCE. Kecuali COUNT(*), seluruh function agregat mengabaikan null.

Kita dapat menggunakan function-function agregat di dalam perintah-perintah SQL, namun tidak dalam perintah-perintah prosedural. Function-function agregat beroperasi pada seluruh kolom-kolom kecuali kita menggunakan perintah SELECT GROUP BY untuk mengurutkan baris-baris data yang dihasilkan ke dalam sub-sub grup. Jika kita mengabaikan klausa GROUP BY, function agregat memperlakukan seluruh baris-baris data sebagai grup tunggal.

Kita dapat memanggil function agregat dengan sintaks

function_name([ALL | DISTINCT] expression)

dimana expression mengacu kepada satu atau lebih kolom-kolom di dalam database. Jika kita menentukan ALL (default), function agregat menganggap seluruh nilai-nilai kolom termasuk nilai-nilai kembar. Jika kita menentukan DISTINCT, function agregat hanya menganggap nilai-nilai yang berbeda. Sebagai contoh, perintah berikut ini menghasilkan jumlah jabatan yang berbeda di dalam table emp:

SELECT COUNT(DISTINCT job)
INTO job_count
FROM emp;

Function COUNT mengijinkan kita menggunakan operator baris bertanda bintang (*), yang menghasilkan jumlah baris data di dalam table. Sebagai contoh, perintah berikut ini menghasilkan jumlah baris data di dalam table emp:

SELECT COUNT(*)
INTO emp_count
FROM emp;

 

 

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19


Bookmark and Share

 

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, Uranus dsb.

 

Find Related articles